Простая система комментирования с использованием AJAX. Комментарии в HTML, CSS, PHP Сделаю все за вас

Время на чтение: 55 мин

Добрый день всем.

Вот и пришло время долгожданного материала о микроразметке.

Сразу скажу, что данная статья будет довольно сложна для первого понимания, особенно для новичков, так как вариантов микроразметки существует много и сразу сложно все уложить в голове. Но я постараюсь описать общую картину и вместе с тем акцентировать внимание на самых важных и распространенных вещах.

Материал достаточно объемный, но надеюсь, что он поможет вам сделать микроразметку на сайте.

В последнее время я заметил, что очень много людей зациклены на микроразметке. Случилось это после того, как различные СЕО блоггеры начали ее бурно обсуждать. Но давайте же разберемся, зачем вообще она используется и нужно ли уделять ей столь большое внимание. Стоит ли игра свеч?

Что такое микроразметка и зачем нужна

Если вы слышите микроразметка или семантическая разметка страницы (сайта), то знайте, что под этим подразумевается разметка страницы с помощью дополнительных атрибутов (тегов), которые дают поисковым системам понятия об отдельных элементах страницы, указывая на их содержание.

Вы должны понимать, что обычная страница и так по себе размечена, но использованы при этом обычные общепринятые теги и атрибуты. Поисковым системам этого вполне достаточно и множество сайтов до сих пор так существуют и достаточно успешно процветают.

Но, если мы хотим помочь поисковым системам разобраться в нашем сайте, указать им на важные области страницы, разобраться в его структуре, показав на содержание тех областей, на которые в первую очередь нужно обращать внимание, то необходимо внедрить микроразметку, то есть добавить определенные теги и атрибуты, которые на все укажут.

Сделав это, мы не только поможем поисковым системам, но и своему сайту, так как микроразметка используется не только для понимания структуры сайта и содержания, но и для построения поисковой выдачи, формируя функциональные и привлекательные сниппеты, что сказывается на кликабельности (CTR) сайта в выдаче. А это увеличение общей посещаемости сайта.

Яркий пример таких сниппетов вы можете видеть ниже.

На данном изображении вы можете видеть , который дополняет и делает его более заметным среди серой масс других сайтов в выдаче. Также стрелками я выделил навигационную цепочку, которая показывает четкий структурированный путь к материалу на сайте, а не простой непонятный URL адрес.

Такая навигационная цепочка осуществляется достаточно просто. Стоит лишь и установить их на сайт.

Вот еще один вариант расширенных сниппетов.

Такой же вариант позволяет посетителю сразу понять о чем сайт и что он может ему дать. Если сниппет построен правильно в таком случае, то пользователь может сразу совершить нужное вам действие, а как мы знаем, каждый сайт должен выполнять свои задачи (подписка, покупка и т.д.).

Согласитесь, что такой сниппет будет заметней в выдаче, чем обычное описание страницы, так как имеет гораздо больший размер. Да и смотрится солидней.

Давайте теперь ответим на вопрос, который может волновать тех, кто думает, что микроразметка помогает в увеличении позиций и является одним из факторов ранжирования.

Влияет ли микроразметка на ранжирование? Стоит ли ожидать повышение позиций после ее внедрения?

Чтобы не писать свои рассуждения, обратимся к справке поисковой системы Яндекс. Итак, что же нам говорит сам Яндекс на данный счет. Цитирую:

Будет ли мой сайт ранжироваться лучше, если я использую разметку?

Ответ: Разметка может сделать ваш сайт более заметным в Поиске Яндекса и таким образом привлечь больше посетителей, принадлежащих целевой аудитории. Яндекс же заинтересован в том, чтобы пользователи решали свои задачи с помощью Поиска. Одна из метрик качества Поиска так и называется - «счастье пользователя». Сайты, повышающие «счастье», ранжируются выше.

Можем сделать вывод, что напрямую разметка не влияет на позиции, а лишь косвенно, так как мы можем сделать более привлекательный сниппет, что само по себе приведет больше посетителей на ресурс. Дальше уже дело техники. Больше посетителей - больше накопленных хороших показателей о страницах (если контент качественный) и позиции постепенно будут расти.

Также стоит отметить, что помогая поисковым системам понять сущность контента, его тип (информация, встреча, продукт и т.д.), мы делаем контент более релевантным поисковому запросу и он должен занимать более высшие позиции. Может и не прямым путем, но косвенно - так точно. Яндекс нам это подтвердил (см. выше).

Итак, давайте сделаем краткий чек-лист преимуществ наличия микроразметки на сайте. Это те моменты, которые косвенно или прямо указывают на качество сайта, увеличивают его позиции и помогают поисковым системам.

  1. Во-первых, можно сделать вывод, что повышается доверие к сайту со стороны поисковых систем, так как мы указываем поисковому роботу на основные элементы сайта, не боясь, что у нас что-то не так и не пытаясь что-то скрыть от поискового робота. В итоге поисковым системам логично думать, что мы им помогаем и открываем им "душу сайта", что непременно скажется и на качестве индексации сайта, а в конце концов и на позициях;
  2. Во-вторых, при должных настройках мы можем выделить свой сниппет в выдаче, что приведет к мгновенному росту трафика на страницы ресурса без изменения позиций. В конечном итоге увеличение трафика приведет к повышению отдельных страниц в выдаче и сайта в целом;
  3. В-третьих, мы увеличиваем поведенческий фактор - CTR в выдаче (кликабельность). Данный пункт очень тесно связан с предыдущим. Раз на наш сайт больше кликают, значит мы более точно помогли посетителю понять, что наша страница более качественней, чем на других площадках. А значит - сайт нужно немного поднять вы выдаче.

Итак, я думаю, что ответ на поставленный вопрос дан.

Нужна ли вообще микроразметка? - Да, нужна.

Конечно же, если стоит выбор между мучительным внедрением разметки на сайт и работой над другими моментами, то конечно же не стоит зацикливаться только на семантической разметке. Лучше работать над контентом, что гораздо важнее какой-то технической детали из сотни или тысячи других вещей. Тем более, что сейчас можно выделить своей сниппет в выдаче без внедрения разметки в шаблон, а лишь установив , в котором уже предусмотрена разметка рейтинга.

Когда мы знаем основные преимущества, можно переходить к рассмотрению основных типов семантической разметки.

Основные типы микроразметки

Тут все достаточно сложно. Для начала вам нужно понять, что существуют словари микроразметки и их синтаксисы.

Под словарем можно подразумевать язык микроразметки, включающий в себя набор классов, свойств, которые указывают суть содержимого страницы. В каждом словаре каждый элемент на сайте указывается с помощью различных тегов. Например, в словаре Schema.org название документа указывается с помощью тега "name", а вот микроформаты используют CSS класс внутри блока того элемента, который стоит разметить (Ромашка, где fn org - тег названия в данном случае).

В каждом словаре и синтаксисе свои теги и атрибуты, что делает из форматов микроразметки так называемый винегрет. Действительно сложно во всем разобраться.

Под синтаксисом же понимают способ использования того или иного языка (словаря) семантической разметки. Синтаксис определяет с помощью каких тегов будет указываться сущность объектов и их свойства на странице.

Из предыдущего определения про синтаксис прозвучало понятие сущности. Что это это значит применимо к рассматриваемому вопросу?

Сущность - если просто, то это тот тип информации (единица контента, информации), на которую мы указываем поисковым системам. Например, нам нужно указать на главной странице блога на анонсы, то есть выделить каким-то тегом сущность данной области, определив ее, как область анонсов. Тоже самое нужно сделать и со страницей записи, где необходимо указать на сущность области, где находится контент (статья), то есть выделить текст, как область контента.

Практически для каждого элемента страницы можно определить сущность, то есть указать, что это такое: контент или рейтинг, или же вообще комментарии. Таким образом сущности можно указать на таких страницах (в пример беру простой шаблон блога, как у меня):

  • Главная - список анонсов;
  • Страница записей - комментарии, контент, рейтинг (если имеется), хлебные крошки;
  • Обычная статическая страница - контент, комментарии (если имеются).

Кроме того, на каждом типе страниц можно обозначить один и тот же элемент - шапка сайта, футер (подвал), сайдбар (боковая колонка), главное меню.

К каждой сущности имеются свои свойства, например:

  • Область контента на странице записей - название статьи, текст статьи, описание, имя автора статьи, дату публикации, рубрику, изображения, видео и другие;
  • Область списка анонсов на главной, рубриках и архивов - тоже самое;
  • Область комментариев - имя комментатора, дата, текст комментария;
  • Область контента на обычной статической странице - в принципе, тоже самое, что и в записях;
  • Область шапки сайта - заголовок, описание;
  • Область рейтинга на страницах - максимальная оценка, текущая оценка, количество оценок.
  • Область футера (подвала сайта) - год копирайта;
  • Область сайдбара (боковой колонки) - название виджетов;
  • Область главного меню - ссылки.

Существуют и другие области со свойствами, но их я рассматривать не буду, так как в каждом словаре разметки их по несколько десятков, а в разметке от schema.org их количество вообще исчисляется сотнями.

Какими тегами и атрибутами пользоваться для указания на сущности и свойства каждой из них, мы рассмотрим в практической части данной статьи.

Теперь перейдем к основной мысли пункта и рассмотрим основные форматы семантической разметки. Краткий список основных словарей и синтаксисов можно увидеть в интеллект-карте ниже.

Все словари и синтаксисы рассматривать не будем, так как это бессмысленно. Они вам не понадобятся. Обсудим лишь вкратце основные форматы разметки:

  • Schema.org;
  • Open Graph;
  • Микроформаты.

Некоторые из остальных затронем совсем немного.


Последним шагом стоит отметить еще один словарь, а именно Data Vocabulary, который разрабатывался компанией Google и сейчас его развитие приостановлено. Все внимание перетекло на Schema.org. Можно сказать, что все свойства и сущности, которые был в этом языке разметки стали прототипами для разметки от schema.org.

Насколько я понял, то словарь Data Vocabulary может работать с синтаксисами: микроданные и язык RDFа, что можно очень хорошо видеть в справке Google по материалу микроразметки хлебных крошек. Там предоставляется 2 варианта разметки:

  1. Разметка словарем Data Vocabulary микроданными;
  2. Разметка Data Vocabulary с RDFa.

Немного забегу наперед. На первом изображении вы можете видеть, что вместе со словарем Data Vocabulary используются микроданные от Schema.org. Дело в том, что пока хлебные крошки с schema не поддерживаются. Поэтому, используется комбинированный вариант.

Какой формат разметки лучше использовать

Я думаю, что вы уже знаете вопрос на данный вопрос, так как в описании каждого типа разметки я давал неоспоримый довод, что поисковые системы сами рекомендуют словарь разметки Schema.org. Именно его и нужно использовать. Но вариантов внедрения данной микроразметки может быть масса, как от плагинов, так и внедрения сущностей и свойств в шаблоны оформления.

Последний вариант является самым оптимальным, так как это работа на один раз и микроразметка будет абсолютно на каждой странице. Все поисковые системы ее будут видеть, так как она будет вшита в шаблон. Но у новичков могут возникнуть проблемы с ее внедрением, так как нужно хотя бы на минимальном базовом уровне понимать код своего шаблона и видеть, каким тегом выводится название статьи, где код за вывод текста и так далее. Все эти моменты и нужно будет оборачивать тегами микроразметки.

В данном пункте также стоит вопрос совмещения различных словарей на одном сайте. Это допустимо и в некоторых случаях без этого никакой не обойтись. Это четко видно на примере разметки хлебных крошек, когда совмещается вариант разметки Data Vocabulary и микроданных от Schema.org. Ничего в этом страшного нет. Об этом говорит и сам Яндекс.

Тут уже на ваше усмотрение. Если вам проще использовать микроформаты, то действуйте. Я же лично буду показывать весь процесс на микроразметке Schema.org, так как у самого она внедрена и все работает на ура без единой ошибки.

Как проверить наличие разметки на сайте

Наша задача на данном этапе - узнать, имеется ли в наше шаблоне какой-то формат разметки. Это вполне возможно, ведь большинство используемых шаблонов - переведенные англоязычные темы, которые содержат в себе уже какой-то формат семантической разметки. Как правило, это разметка микроформатами, что нам вообще ни к чему. Лучше, если ее изначально не будет, так как это избавит нас от головной при ее удалении.

Для проверки наличия разметки можно использовать, как валидатор микроразметки от Яндекс , так и инструмент проверки структурированных данных Google . Предпочитаю и настоятельно рекомендую вам пользоваться валидатором от Яндекса, так как он намного проще.

После перехода в валидатор Яндекса мы вводим адрес страницы и жмем "Проверить".

Если написало, что "Микроразметка не обнаружена", то значит никакой сторонней разметки в шаблоне нет. Это очень хорошо, так как не потребуется тратить силы на ее удаление. Но будьте внимательны, ведь на одном типе страниц разметки может не быть, а на другом она будет присутствовать (например, на странице статьи).

Вот, как раз, я анализирую страницу записи и получается, что комментарии шаблона размечены микроформатами (присутствует vcard). Об этом свидетельствует различный код в результатах проверки.

Нам микроформаты ни к чему, поэтому их стоит удалить. Может случится ситуация, что у вас шаблон размечен и другими форматами разметки. Тогда их стоит также удалить. А возможно, что сразу будет внедрена разметка от Schema.org. Такое также бывает, но очень редко, так как стоящих шаблонов в бесплатном доступе практически нет. А вот плохих пруд пруди.

Теперь давайте рассмотрим процесс удаления сторонней разметки.

Удаление сторонней разметки

Так как в моем случае оказалась сторонняя разметка с помощью микроформатов, то на ее примере я и покажу данный процесс. Если же у вас какая-то другая разметка оказалась, то принцип удаления ее будет аналогичен.

Все сводится к тому, чтобы удалить теги и их атрибуты той разметки, которая у вас оказалась. Единственное отличие микроформатов от других типов микроразметки будет заключаться в том, что все типы кроме микроформатов добавляют новые теги и атрибуты. Микроформаты же ничего не добавляют а прописываются внутри атрибута class определенного html элемента шаблона (например, название статьи), как я это писал в пункте про основные типы.

Кстати, в пункте №6 данной статьи я даю код разметки комментариев, который нужно вставить в файл функции шаблона functions.php. Данный код должен вылечить эти ошибки от сторонней разметки микроформатами. Поэтому, если у вас данная проблема имеется, то сначала рекомендую проверить тот код на своем шаблоне. Он должен помочь. Это избавит вас от лишней работы по ручному избавлению. Если же ничего не получится, тогда делаем все руками, как я описываю ниже.

Теперь перейдем к самому процессу. Итак, ранее стало ясно, что у меня лишняя разметка от микроформатов. При проверке в валидаторе нам выдало тег vcard, который и создает ошибки.

Теперь нам нужно открыть папку с шаблоном, чтобы видеть все его файлы и далее обращаемся к тем файлам, которые отвечают за вывод тех элементов, где находятся микроформаты. Как это сделать, смотрите по списку ниже:

Надеюсь, что я объяснил довольно просто. Хотя, у новичка может и больше всего, что воникнет путаница в голове.

Вот как данный кусок кода с vcard выглядел у меня изначально в файле шаблона.

После изменения стало так.

В стилях я также произвел изменения.

Теперь микроформатов нет и оформление сохранилось в исходном состоянии.

Итак, когда мы удалил стандартную разметку (если она присутствовала), можно встраивать новую от Schema.org. К данному процессу мы и приступаем.

Внедряем микроразметку Schema.org

Начнем с небольших пояснений и теории, так как перед практикой всегда нужно подготовиться.

Во-первых, стоит разобраться какие файлы нам потребуются, чтобы указать на необходимые сущности и их свойства. Сейчас говорю о файлах для движка WordPress. Про другие движки не скажу, так как с ними не работаю. Принцип разметки остается один и тот же. Нужно лишь определить файлы, где находятся нужные области для разметки.

  • Файл single.php (файл записей): сущность - область контента (статья), свойства - дата публикации, автор, рубрика, название статьи, изображения;
  • Файл functions.php (в моем случае - разметка кода комментариев): сущность - комментарий, свойства - текст комментария, дата и имя комментатора;
  • Файлы со списком анонсов index.php, category.php, archive.php (главная, рубрики и архивы соответственно): сущность - список анонсов, свойства - дата публикации, автор, рубрика, название статьи;
  • Файл page.php (обычная статическая страница - не обязательно): сущность - область контента, свойства - заголовок текста и, если имеется, то дата, автор и другие;
  • В файле header.php также разметить шапку - сущностью будет шапка (header), а свойствами - заголовок сайта + описание;
  • Файл sidebar.php (боковая колонка): сущность - вся боковая колонка, свойство - заголовок каждого виджета;
  • Файл footer.php (подвал сайта): сущность - весь подвал, свойство - дата копирайта + название сайта (я не размечал название);
  • Файл header.php (верхняя часть ресурса): сущность - главное навигационное меню, свойство - ссылки + их анкоры.

Теперь по поводу тегов и атрибутов, которые соответствуют каждому типу сущностей и соответствующим им свойствам. Сначала про сущности.

/***Список анонсов***/ itemscope itemtype="http://schema.org/BlogPosting" /***Контент страницы записи***/ itemscope itemtype="http://schema.org/Article" /***Комментарии***/ itemprop="comment" itemscope itemtype="http://schema.org/Comment" /***Обычная статическая страница***/ itemscope itemtype="http://schema.org/Article" /***Сайдбар (боковая колонка)***/ itemscope itemtype="http://schema.org/WPSideBar"> /***Footer (подвал сайта)***/ itemscope itemtype="http://schema.org/WPFooter"> /***Навигация сайта (главное меню)***/ itemscope itemtype="http://schema.org/SiteNavigationElement"> /***Изображения***/ itemscope="" itemtype="https://schema.org/ImageObject" /***Постоянная ссылка на страницу***/ itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" /***Организация***/ itemscope itemtype="https://schema.org/Organization" /***Адрес***/ itemscope itemtype="http://schema.org/PostalAddress"

Теперь теги свойств.

  • Название страницы (текста) - itemprop="headline"
  • Текст записи - itemprop="articleBody" (возможно применять и для описания, если оно формируется, как часть из полного текста)
  • Дата публикации - itemprop="datePublished"
  • Автор - itemprop="author"
  • Категория статьи - itemprop="articleSection"
  • Изображение - itemprop="image"
  • Текст комментария - itemprop="text"
  • Имя комментатора - itemprop="creator"
  • Дата комментария - itemprop="datePublished"
  • Ссылка (применимо к главному меню и к изображению) - itemprop="url"
  • Год копирайта в футере - itemprop="copyrightYear"
  • Дата последнего изменения страницы - itemprop="dateModified"
  • Адрес - itemprop="address"
  • Улица - itemprop="streetAddress"
  • Индекс - itemprop="postalCode"
  • Расположение адреса - itemprop="addressLocality"
  • Телефон - itemprop="telephone"
  • Длина изображения - itemprop="width"
  • Ширина изображения - itemprop="height"
  • Логотип - itemprop="logo"

Это основные свойства, которые мы будет сейчас использовать.

Дальнейшие действия по микроразметке шаблона достаточно просты.

Каждая область, которой нужно определить сущность и свойство с помощью выше предоставленных тегов, обернута каким-то общим тегом. Это может быть тег блока div, article, тег span, заголовок H1 и другие. Чтобы была проще понять, то заголовок практически всегда обернут в тег H1, что и должно быть. Тега будет 2: открывающий и закрывающий. И так с каждым элементов сайта, а не только с заголовками.

Смысл в том, что каждому необходимому элементу нужно будет задать тег сущности (указать тип контента: статья или комментарий, или список анонсов и т.д.) и свойства внутри его открывающего тега.

Теперь практика. Например, имеется файл одиночной записи (статьи) single.php. Приступим с его разметки.

Микроразметка поста (статьи)

Начнем с того, что зададим сущность. В шаблоне имеется общий тег, который оборачивает всю область контента записи (и текст статьи и название и комментарии) и у каждого он разный. У кого-то это может быть блок div. У меня же это article. Естественно, данный тег открывается в самом начале, где начинается весь контент, и где-то заканчивается, когда контент заканчивается.

И именно в самом начале внутри открывающего тега article мне и необходимо вставить тег сущности области контента на странице записи (коды давал немного выше). Даю вам изображение (кликабельное) итоговой разметки файла записи single.php, а затем объясню, что было и что стало в итоге, если кому-то будет непонятно. Изображение большое, но кликабельное, поэтому можете кликнуть на него и посмотреть в увеличенном размере или открыть его в новой вкладке и посмотреть в полном размере.

Изначально идет открытие всей области контента записи с помощью тега article. Было так:

А стало так:

Как видим, внутри открывающего тега article внесен тег сущности поста. Теперь поисковой робот поймет, что это область, в которой содержится контент. Будет воспринимать данный участок, как объект. Это очень важно.

К слову. Многие устанавливают рейтинги статей без плагина и после проверки страницы в валидаторе Яндекса или Google им пишет, что не указан объект отзыва. Это связано с тем, что рейтинг размещен сам по себе. Нужно разместить его внутри данной области, которая в свою очередь должна быть определена тегом разметки, как область контента (или объект отзыва). Тогда рейтинг будет принадлежать объекту, то бишь статье. Ошибки выдавать после этого не будет.

Вернемся к процессу. Сначала мы разместили сущность объекта (обернули всю главную область общим тегом), а после - размечаем ее свойства, то есть второстепенные данные: дату публикации, автора, тело статьи (сам текст), данные о публикаторе (адрес, организацию, логотип), дату последнего изменения страницы, адрес главной страницы и так далее. Все точно также - внутри каждого открывающего тега необходимого элемента указываем соответствующие параметры. Ниже предоставляю пояснения, что было до внесения правок, а что стало после.

Изначально мы копируем 2 строчки кода сразу после открывающего тега, оборачивающего всю область контента. У меня это тег article с сущностью внутри него, разместившейся ранее по тексту.

"/>

  • 1я строка отвечает за вывод строки, которая указывает на адрес страницы и говорит, что именно эта страница является главной.
  • 2я строка - дата последнего изменения страницы.

Дальше сразу же следующей строкой мы даем данные о публикаторе, т.е. о том, кто публикует материалы. Сюда входит сразу несколько сущностей (Организация - внутри нее адрес, изображение - логотип). Даю код, вы только заменяете подсказки в нем на свои данные. Ставить реальные или нет, ваше дело, но, если гугл все таки делает это для того, чтобы улучшить выдачу и показать ваши данные, чтобы к вам повысилось доверие, то я бы указал реальные. В общем, тут уже дело каждого. Вот код.

название улицы индекс страна, область, город телефон

Если вы заметите, то в вышеприведенных кодах присутствует тег стилей display:none, который говорит, что эти данные на странице отображать не нужно, а только в исходном коде, чтобы поисковик их увидел. Собственно это мне и нужно. Данный тег находится в строках 2 и 9 и скрывает отображение логотипа и адреса. Если хотите отобразить, то уберите эти стили. В будущем я так и сделаю, когда кардинально переделаю дизайн блога, оформлю это в компактный красивый блог, который будет хорошо вписываться в дизайн и давать информацию о мне.

Касаемо логотипа, то у многих его просто нет. Я предлагаю поступить следующим образом - либо создать небольшое изображение и написать на нем название сайта с адресом (самый простой вариант логотипа) или же загрузить свою фотографию (самый ленивый вариант). У меня же логотип есть, поэтому я его и прописал.

Итак, теперь мы размечаем следующую информацию. Тут уже будет полегче. Просто нужно будет найти все остальные нужные коды, которые выводят ту или иную информацию (заголовок, категория, дата публикации, автор), и внутри их открывающих тегов, в которые они заключены, вставить необходимые теги свойств разметки schema.org.

Заголовок записи. Было:

Дата публикации. Было:

Константин Хмелев

".$current_category_name."

".$current_category_name."

Текст статьи. Было:

тут сторонний код

тут сторонний код

Практически также само должны сделать и вы. Отличия будут лишь в тегах, внутрь которых нужно поместить сущность и теги свойств. Также может быть различен их порядок. А может быть, что вообще чего-то не будет, например будет отсутствовать дата публикации или ссылка на категорию. Тогда придется добавить эти данные к шаблон.

В предпоследнем пункте статьи я дам вам коды, которые вы сможете использовать, если у вас вдруг чего-то не хватает.

Итак, теперь мы должны проверить свою страницу в валидаторах яндекса и гугла .

В валидаторе гугла будет практически тоже самое. В этих данных не должно быть никаких ошибок. Единственный нюанс касается микроразметки изображений, к которой мы и переходим.

Можно каждое изображение размечать руками, оборачивая его сущностью изображений и прописывая необходимые свойства, но это достаточно неудобно, когда изображений несколько десятков в каждом посте. Используем следующий код.

Function micro_images_captions ($a , $attr, $content = null){ extract(shortcode_atts(array("id" => "", "align" => "alignnone", "width" => "", "caption" => ""), $attr)); if (1 > (int) $width || empty($caption)) return $content; $caption = html_entity_decode($caption); if ($id) $id = "id="" . esc_attr($id) . "" "; return "

" . do_shortcode($content) . "

" . $caption . "

";} function micro_image($content) { $ar_mk = "!!si"; $br_mk = ""; $content = preg_replace($ar_mk, $br_mk, $content); return $content; } add_filter("the_content", "micro_image"); add_filter("img_caption_shortcode", "micro_images_captions", 10, 3);

Теперь вам не нужно добавлять тег разметки изображений в каждую статью. Идем в валидатор, проверяем страницу хотя бы с одной картинкой, и видим следующую картину.

Никаких ошибок быть не должно. Все четко. Каждое изображение должно быть обернуто разметкой, как и н скриншоте выше.

Микроразметка главной страницы

Тут нужно обернуть код, выводящий список анонсов тегом сущности списка анонсов. Делается это точно также. Внутри общего тега, который оборачивает весь код в шаблоне, размещаем нужный тег (сущность списка блоговых постов - blogposting, а можно и по аналогии со страницей записи -article). Смотрите изображение (кликабельно).

Как видим, у меня список анонсов выводится тегом списка li, то есть каждый анонс в него заключен. Внутри списка практически тоже самое, что и внутри самой записи - имеются даты, имя автора, название рубрик, адрес, логотип, публикатор и так далее. Это вы можете прекрасно видеть на страницах блога. Структура аналогичная, только текст статьи не полный. В общем, разметка точно такая же, как и для страницы записи, за исключением тега сущности анонсов blogposting.

Также необходимо использовать немного другой код разметки изображений для страницы анонсов, так как там выводятся не просто картинки, а миниатюры. Микроразметка миниатюр будет осуществляться с помощью практически аналогичного кода. Если ранее их приходилось размечать руками, то сейчас в этом нет смысла. Вот код (размещаем его также в файле функций functions.php).

Function micro_thumbnail($content) { $ar = "!!si"; $br = ""; $content = preg_replace($ar, $br, $content); return $content; } add_filter("post_thumbnail_html", "micro_thumbnail");

Обращаемся к валидатору и проверяем домашнюю страницу. Я показал вам всего 2 анонса, т.к. полный скрин будет очень большим.

Таких записей blogposting будет столько же, сколько анонсов на данной странице. Если вместо blogposting вы использовали article, то у вас и будет несколько article в зависимости от количества анонсов.

Так как главная страница по своей структуре похожа со страницами рубрик и архивов, то их микроразметка идентична. На всех типах данных страниц выводятся списки анонсов.

Итак, осталось разобрать разметку комментариев, что достаточно сложный процесс для новичка. Также остались обычные статические страницы. Принцип их разметки аналогичен записям, поэтому показывать не буду.

Итак, комментарии. Упростим задачу до вставки одного кода в файл функции functions.php и модификации функции, которая выводит комментарии на страницах сайта. Сперва берем следующий код и размещаем его внутри файла functions.php в самом начале сразу перед открывающим тегом < ?php. Если будет выдавать ошибку, можно попробовать его разместить после закрывающего тега?> в самом конце файла.

Также имеет место быть вариант размещения, когда нужно в данном коде убрать в самом начале открытие php кода (удалить < ?php) и в самом конце его закрытие (удалить?>). Тогда нужно размещать код не перед или за открывающим (закрывающим) тегом php, а внутри этих тегов рядом со всеми другими функциями. Иногда я сталкивался с проблемой, когда именно такой вариант размещения работает.

Код работает не на всех шаблонах!

< id="comment-">

%s:
"), get_comment_author_link()); ?> comment_approved) : ?>
$add_below, "depth" => $depth, "max_depth" => $args["max_depth"]))); ?>
$add_below, "depth" => $depth, "max_depth" => $args["max_depth"]))); ?>

Следующим шагом мы открываем файл comments.php и ищем в нем функцию вывода комментариев. Выглядит она так:

< ?php wp_list_comments(); ?>

Это ее упрощенный вариант и будет хорошо, если так у вас и будет. Тогда просто заменяем ее на точно такой же код только уже немного изменений с вызовом той функции, которую мы разместили ранее в файле функций.

< ?php wp_list_comments("callback=schema_comment"); ?>

Может быть ситуация, когда вместо просто варианта кода, будет немного измененный вариант с уже внесенными параметрами, например:

< ?php wp_list_comments("type=comment&avatar_size=48"); ?>

В таком случае мы через знак & добавляем вызов нашей функции разметки комментариев callback=schema_comment. Получится так:

< ?php wp_list_comments("type=comment&avatar_size=48&callback=schema_comment"); ?>

В моем же примере все еще гораздо сложней. Внутри данной функции находятся параметры, как и в предыдущей строке кода. Но они выводятся немного по-другому.

< ?php wp_list_comments(array("style" => "ol", "short_ping" => true, "avatar_size" => 74,)); ?>

Если у вас такой вариант, то внутри скобок рядом со всеми параметрами мы вводим новый. В конечном итоге получим следующий код.

< ?php wp_list_comments(array("style" => "ol", "short_ping" => true, "avatar_size" => 74, "callback" => schema_comment,)); ?>

Когда мы разместили код функции в файле functions.php, а также немного изменили код вывода комментариев на сайте в файле comments.php, можно проверить работу микроразметки комментариев.

Признаком правильной разметки комментариев является их вложенность в тело статьи безо всяких отступов и пробелов. Каждый комментарий должен отображаться именно внутри статьи и быть показан в валидаторе Яндекса.

Как видите, комментарии находятся внутри тела статьи. Так должно быть и у вас.

Также можно указать поисковым системам на количество комментариев к каждой записи. Для этого также имеется свой тег - itemprop="commentCount". По аналогии с ранними действиями его нужно разместить внутрь открывающего тега, который оборачивает функцию вывода количества комментариев. Данная функция называется:

< ?php comments_number ?>

Может быть полная строка вывода данной функции будет отличаться, но суть ее одна и та же. Внутри должно быть comments_number.

У меня данная функция имеет следующий полный вид вместе с оборачивающим тегом.

< ?php comments_number("Комментариев пока нет. Будьте первым!","1 Комментарий","Комментариев: %") ?>

В зависимости от шаблона нужно найти местоположение функции. Как правило, все находится в том же файле comments.php. У меня же в шаблоне данная функция находилась в файле одиночной записи single.php перед выводом формы комментариев. Так как у меня функция оборачивалась текстовым тегом span, то внутри него я и вставляю свойство commentCount.

Обращаемся к валидатору.

Важно. Оборачивать нужно только число количества комментариев без каких-либо надписей и слов. Разметка воспринимает только числа!

Внимание: я не являюсь автором функций. Функции автоматической разметки комментариев и изображений взяты с сайта http://seo-mayak.com/ . Я только немного изменил названия + где-то что-то немного откорректировал.

Микроразметка шапки сайта (header)

Открываем файл header.php шаблона оформления и ищем открывающий тег header. Внутри него вставляем:

Itemscope itemtype="http://schema.org/WPHeader"

  • Заголовок - itemprop="headline"
  • Описание - itemprop="description"

Вот готовый вариант на изображении.

В валидаторе это отобразится так.

Микроразметка сайдбара (боковой колонки)

Тут также все просто. Открываем файл, который отвечает за вывод боковой колонки, как правило, это sidebar.php. Находим блок или тег, который оборачивает все содержимое всей боковой колонки и внутр него помещаем тег сщности, соответствующей сайдбару.

Register_sidebar(array("name" => __("Область для вставки виджетов в сайдбар", "xmarkup"), "id" => "primary-widget-area", "description" => __("", "xmarkup"), "before_widget" => "", "after_widget" => "", "before_title" => "", "after_title" => "",));

Интересуют последние 2 строки (before_title и after_title), которые определяют, что будет выводится перед заголовком виджета и после, соответственно. Как видим, у меня указано, что перед и после будет текстовый тег span. У вас может быть там пусто или же какие-то другие теги, например тег блока div. Если пусто, то рекомендую дописать тег span по аналогии с моим вариантом и внутри открывающего тега (строка before_title) указать свойство имени (itemprop="name"). Получится следующая конструкция:

Register_sidebar(array("name" => __("Область для вставки виджетов в сайдбар", "xmarkup"), "id" => "primary-widget-area", "description" => __("", "xmarkup"), "before_widget" => "", "after_widget" => "", "before_title" => "", "after_title" => "",));

В зависимости от шаблона таких частей кода может быть несколько. Тогда все части и нужно будет доработать. После изменений проверяем разметку сайдбара через валидатор Яндекса и должна получится следующая картина.

В зависимости от количества виджетов будет показано соответствующее количество строк при проверке.

Микроразметка футера (подвала)

Открываем файл footer.php и ищем общий блок, который оборачивает все содержимое подвала, включая копирайты. Внутри открывающего тега размещаем тег сущности itemscope itemtype="http://schema.org/WPFooter".

И внутри открывающего тега, в который заключена дата копирайта, размещаем тег свойства itemprop="copyrightYear".

Очень важно, чтобы внутри тега copyrightYear была только дата в виде числа. Никаких посторонних слов и символов, иначе будет выдавать ошибку.

В рабочем состоянии в валидиторе будете видеть следующее.

Микроразметка главного навигационного меню

Тут также все предельно просто, но не у всех будет работать данный вариант, так как структура построения и вывода меню в шаблонах разная.

Код, который выводит меню, находится в файле шапки header.php. Заходим него и ищем следующее содержание:

< ?php wp_nav_menu(array("theme_location" => "header-menu-top","container" => "")); ?>

Строка может немного отличаться. Главное - найти строку, включающую в себя wp_nav_menu. Она будет обернута тегами. У меня да и в большинстве других тем принцип аналогичен. Используется тег nav. Внутрь открывающего тега nav мы и вставляем тег, который показывает сущность данного элемента, а именно главного меню:

Itemscope itemtype="http://schema.org/SiteNavigationElement"

Далее стоит сделать так, чтобы к каждой ссылке в меню добавлялся атрибут itemprop="url", который будет указывать, что это ссылка. Если у вас простой сайт, где каждый пункт меню создан руками, то внедрите данный атрибут внутрь тега каждой ссылки. Если же у вас сайт на WordPress и меню формируется в файле functions.php стандартным образом, о стоит разместить следующий код в эттот же файл, который будет подставлять данный атрибут автоматически к каждому пункту меню.

Function nav($content) { $pattern = "

После проверки любой страницы (где имеется меню) в валидаторе Яндекса, мы должны увидеть тег сущности вместе со списком всех пунктов меню.

Если функция для вашего шаблона не сработает, то ссылок в валидаторе вы не увидите, а только сущность.

В последнем случае лучше удалить разметку с меню, так как смысловой нагрузки она не несет и инструмент проверки структурированных данных от Google будет давать предупреждение.

На этом основная часть микроразметки закончена. Обычному блогу (информационному сайту) больше ничего и не требуется.

Микроразметка адреса (контактных данных)

Если на своем сайте вы показываете посетителям свои контактные данные (имя организации, адрес, телефон и так далее), вы их тоже можете разметить. Делается это очень просто. Ниже я даю код, который просто нужно разместить в html режиме на нужной странице (например, контакты) и внести свои данные.

название сайта индекс, страна, область, город название улицы Телефон: телефон E-mail: ваша почта вида название@сайт.ру

Замечу, что email на обычной почте в данном случае не уместен. Нужна почта вида имя@site.ru, то есть почта на домене.

На этой ноте практика закончена. Микроразметка на вашем WordPress должна быть внедрена и быть без единой ошибки, к в яндексе, так и в google.

Теперь, как и обещал, дам некоторые коды, которые могут вам понадобиться, если у вас в шаблоне выводится не вся информация, необходимая для разметки.

Полезная информация

Даю вам список кодов с уже внедренными свойствами разметки. По факту, вам их просто нужно вставить в нужные места шаблона и задать стили тем классам, которые прописаны в этих тегах.

/***вывод даты публикации записи ***/ /***вывод автора***/ Автор: /***вывод количества комментариев***/ Комментариев: /***вывод заголовка страницы***/

/***вывод категории***/ name; $current_category_link = $cat->cat_ID; }} echo "
".$current_category_name.""; ?>

Также очень большое количество запросов на почту ко мне с проблемой устранения ошибок, которые возникают из-за внедренной разметки hentry в шаблоны. Ошибки звучат следующим образом:

Отсутствует: entry-title
Отсутствует: updated
Отсутствует: author

Из-за чего происходит такая ситуация? Все просто - в шаблоне автоматическим образом добавляется класс henrty, который подразумевает, что должны быть дописаны соответствующие теги (классы) к заголовку, дате и автору. Можно так и сделать - дописать эти классы. Я не вижу в этом особого смысла, так как шаблон мы уже разметили словарем schema.org и от микроформатов henrty нам не будет никакого проку. Поэтому, быстрее и проще всего будет использовать небольшую функцию, которая удалить этот класс henty из шаблона и google даже не найдет микроформаты hentry.

//удаление класса hentry start function wph_remove_hentry_class($classes) { $classes = array_diff($classes, array("hentry")); return $classes; } add_filter("post_class", "wph_remove_hentry_class"); //удаление класса hentry end

Функцию конечно же добавляет в файл функций functions.php. Если у вас подобные ошибки уже были или начали появляться, то постепенно по мере обхода страницы вашего сайта роботом микроразметки гугла они начнут исчезать. Если их не было, тогда они не появятся.

Имеется и другой вариант, когда можно помучиться и дописать необходимые теги к выводу заголовка, даты и автора. Тогда гугл найдет эту разметку и будет ее распознавать. Если вы решились на такие действия, тогда вам нужно найти php коды вывода заголовка (1), даты (2) и автора (3).

Готовые коды с тегами микроформатов будут следующие:

Обернув все таким образом, тоже будет нормально.

Следующий пункт будет для тех, кому слишком сложно все это делать или же кому лень.

Сделаю все за вас

Я могу вам помочь. Но, естественно, не бесплатно. Кроме внятных ответов на ваши вопросы в комментариях я могу внедрить вам всю вышеописанную микроразметку в ваш шаблон за небольшую плату.

Стоимость данной услуги 1000 рублей.

Размечу все основные данные, а именно:

  1. Главную страницу + страницы архивов и рубрик;
  2. Страницу поста (записи);
  3. Обычную статическую страницу;
  4. Шапку сайта;
  5. Подвал;
  6. Сайдбар;
  7. Навигационное меню (если шаблон не будет конфликтовать);
  8. Хлебные крошки + рейтинг (по желанию + 200 рублей).

Подойдет данный вариант персональным блогам, а также информационным сайтам. Могу взяться, как за движок WordPress, так и за обычный html сайт. Изначально ничего делать не буду, так как сначала проанализирую ваш шаблон и отвечу, смогу ли я вообще сделать. Возможно, что придется что-то переделывать в шаблоне или доделывать. К каждому индивидуальный подход.

Принцип следующий. Вы связываетесь со мной через страницу "Написать мне" (можно обращаться и в комментариях данной статьи). Сразу кидаете мне ссылку на ваш сайт + ссылку на скачивание шаблона. Я анализирую и даю вам ответ в течении ближайшего времени (1-2 дня). Если все в моих силах, то после оплаты сразу приступаю к разметке.

Все, друзья. Надеюсь, что данный материал вам помог. У меня не было цели написать тут в 2х словах, как все сделать. Целью ставил написать самое лучшее и исчерпывающее руководство по внедрению разметки на сайт. Надеюсь, что это вышло. Вы можете это подтвердить своими комментариями, лайками и оценками.

До встречи в следующих материалах.

С уважением, Константин Хмелев!

В данном уроке я расскажу о том, как делаются комментарии в HTML, CSS, PHP . Комментарии представляют собой текст, который не виден на веб-странице. Они используется для разного рода пояснений, напоминаний, описаний для вебмастеров, что позволяет структурировать документ. Комментарии незаменимы при отладке кода, позволяют быстро сориентироваться в разметке веб-страницы и найти нужный блок. Часто комментарии применяются для отладки кода HTML. К примеру, можно временно закомментировать конкретный блок кода, чтобы он не исполнялся, а в случае необходимости легко его восстановить.

Комментарии в HTML

В HTML комментарии формируются с помощью символов: . Таким образом, любой текст, находящийся между этими символами, является комментарием. Рассмотрим пример:

Комментарии в CSS

Комментарии в CSS создаются с помощью символов: /* и */. Для создания комментария нужно просто поместить код-веб страницы между этими символами:

/* Начало блока со стилями для Body*/ body { background: #efeded; font-family: Verdana, Helvetica, sans-serif; font-size: 12px; margin: 0px; padding: 0px; } /* Конец блока со стилями для Body*/

Комментарии в PHP

Комментарии в PHP могут быть однострочными и многострочными:

1) Однострочные комментарии в PHP создаются с помощью символов: //. Достаточно просто поставить этот символ перед строкой и она будет закомментирована.Такой вариант применятся в том случае, когда комментарий состоит только их одной строки.

2) Для реализации многострочных комментариев используются символы: /* и */. Такой вариант полезен, если комментарий занимает несколько строк.

Таким образом, мы научились делать

В наше время многие популярные сайты это не только источник информации, но и место, где эту информацию можно обсудить с другими пользователями, сайты зачастую превращаются в центры, вокруг которых формируется сообщество.

Комментарии помогают строить сообщество

Теперь пользователи приходят к вам не просто что бы прочитать какую-то новость или статью, но ещё и для того что бы её обсудить.

Что характерно - узнать саму новость читатель мог и в другом месте, но именно сообщество интересных людей, возможность высказаться и услышать их мнение - вот что приведёт к тому, что он посетит ваш сайт и зайдёт на страницу с новостью, которую и так знает.

Ещё лет десять назад центрами, вокруг которых кипела вся жизнь, были форумы. Однако в наше время это уже не так удобно и популярно, сейчас большинство популярных сайтов работают в формате блогов, а общение пользователей происходит в комментариях.

Таким образом, именно комментарии являются тем фактором, который отличает обычные сайты от сайтов, по настоящему успешных в своей сфере. Это касается новостных сайтов, блогов, сообществ по интересам, порой даже интернет-магазинов и различных специализированных сайтов.

Комментарии это обратная связь и мотивация

Так же важно помнить, что комментарии это источник обратной связи с читателями, который позволяет узнать что именно им нравится и на что читатели реагируют. А чем лучше и интереснее для посетителей ваш сайт, тем чаще они к вам возвращаются и рекомендуют его.

К тому же обратная связь - это всегда хорошая мотивация для самих авторов и администраторов, которая почти мгновенно позволяет почувствовать, что людям интересно и то что вы делаете и ваш сайт. Простым счётчиком посетителей такого не добьешься.

Что нам нужно от системы комментирования?

Так какими же должны быть «правильные» комментарии на современном сайте?

  • Простыми и понятными для читателей.
  • Удобными и функциональными для администраторов.

Какие варианты есть на данный момент у веб-мастера?

Виджеты социальных сетей

Плюс только один - довольно высока вероятность того, что пользователь уже залогинен в социальной сети и поэтому ему не придется регистрироваться.

Множество минусов

Русскоязычные сервисы

Русскоязычные аналоги зачастую полностью платные и не могут похвастаться привлекательным дизайном.

SV Kament

Единственным исключение тут стоит система SV Kament (svkament.ru) которая полностью бесплатна и собирает воедино функционал различных западных систем комментирования, но при этом ориентирована на русскоязычный сегмент.

Давайте вкратце рассмотрит что бы мы хотели видеть в нашей системе комментирования.

Древовидные комментарии с возможностью сворачивать отдельные ветки обсуждения. Очень помогают ориентироваться в обсуждении, когда комментариев становится много.

Социальный логин - значительно упрощает регистрацию и как результат увеличивает количество комментариев. Западные исследования показывают что использование социального логина порой увеличивает конверсию более чем на 60%.

Оценка комментариев - во-первых помогает выделить самые интересные и стоящие комментарии, что крайне удобно для читателей, а во-вторых стимулирует пользователей писать интересные сообщения.

Работа в реальном времени - чем удобнее и быстрее работает система, тем больше ей пользуются и чаще пишут комментарии.

Уведомления на почту - как часто мы теряем потенциальные комментарии только потому, что пользователь не знает, что кто-то ответил на его предыдущее сообщение.

С точки зрения управления

  • Управление прямо на сайте.

  • Информация о пользователях.

  • Единая панель управления комментариями всего сайта.
  • Возможность назначать модераторов.
  • Простота установки.

Так же есть ряд интересных возможностей у системы SV Kament.

  • Социальные трансляции - позволяют «вернуть» общение на ваш сайт из социальных сетей. Если у вас есть группа в Вконтакте, в которой вы размещаете анонсы новых статей на сайте, то зачастую часть обсуждения статей остаётся в комментариях к самой записи, и было бы здорово транслировать эти комментарии обратно на ваш сайт.

  • Рейтинг и статус пользователей - позволяет выделить самых активных и популярных посетителей, таким образом стимулируя ваших пользователей чаще заходить, больше общаться и писать сообщения интересные другим людям.

Всё и сразу?

Есть довольно распространенная практика размещать сразу несколько систем комментирования, например отдельно виджет ВКонтакте, отдельно Facebook, отдельно для всех остальных.

На мой взгляд это одно из худших решений, однако важно понимать какие именно цели преследуются.

Если нужно просто собрать отзывы пользователей - то этот способ имеет право на жизнь, хотя для этого может быть достаточно простой гостевой книги или даже адреса электронной почты.

Если же наша цель - создание сообщества и стимулирование общения пользователей, то такой подход крайне вреден, ведь разделяя комментарии, мы разделяем и само общение, таким образом вместо единого диалога получается кучка не связанных между собой сообщений.

А какими комментариями пользуетесь вы? Считаете ли вы комментарии важными для вашего сайта, и насколько удобной и эффективными считаете комментарии на своём сайте?

Сейчас стало модным заменять привычную систему комментариев WordPress на комментарии одной из самых популярных социальных сетей Facebook. Ранее мы уже публиковали , но с тех пор прошло много времени, и сейчас эта процедура заметно упростилась благодаря готовому WordPress плагину. Так что на этот раз все будет гораздо проще.

Как внедрить комментарии Facebook на свой сайт мы расскажем немного позже, а для начала попытаемся определить все «за» и «против» такой замены.

Комментарии с Facebook: «за» и «против»

К тому же, исчезает фактор так называемой анонимности . Маловероятно, что с Facebook будут добавляться спам комментарии, так как все они привязаны к реальным аккаунтам пользователей.

Но вместе с тем можно найти и минусы такой системы. Многие пользователи предпочитают анонимность и совсем не потому, что они хотят написать что-то плохое или оставить спам. Нет. Дело исключительно в психологическом моменте и в чувстве дискомфорта и смущения, которое они испытывают, высказываясь публично. Этот фактор может сократить активность пользователей.

В отличие от других систем комментариев, как например Disqus, комментарии Facebook не синхронизируются с родными комментариями WordPress. Они полностью их заменяют. Если в старых записях уже есть комментарии WordPress, то они будут отображаться до или после новых комментариев, добавленных через форму Facebook.

Вот, пожалуй, и все плюсы и минусы Facebook-комментариев.

Если вы еще не передумали установить их на своем сайте WordPress, то читайте ниже, как это сделать.

Плагин Facebook Comments для WordPress

Для начала установим и активируем плагин Facebook Comments и настроим его в появившемся меню в разделе Настройки → Комментарии Facebook.


Чтобы начать использовать комментарии на сайте, нужно для сначала создать приложение Facebook.

Если вы ранее уже создавали приложение, то можете использовать его данные ID прямо сейчас. Иначе вам придется создать новое на странице Facebook Apps :

В панели управления только что созданного приложения отобразится его ID, которое нужно скопировать и вставить в настройки плагина. Но перед этим настройте приложение на своем сайте в «Настройках» с помощью кнопки «Add Platform».

Появится новое окно, в котором нужно кликнуть на веб-сайт и выбрать его в качестве своей платформы.

Так на странице настроек приложения появится новый раздел «Веб-сайт», в котором можно указать адрес своего сайта.

Сохраните изменения, скопируйте ID приложения и разместите его в настройках плагина своего сайта.

Если вы не разобрались с настройкой приложения Facebook, то вот еще одна краткая инструкция на английском языке с примером для нашего сайта:

Этот плагин Facebook-комментариев имеет очень много параметров для настроек. Стандартные настройки должны работать с большинством сайтов. Однако можно их изменить на собственное усмотрение и сохранить изменения.

Теперь можете протестировать, корректно ли работает новая система комментариев на вашем сайте.

Модерация комментариев

Так как у вас есть админские права, вам будут приходить уведомления о новых комментариях. Вы можете ими управлять и решать, публиковать их или нет.

А еще в настройках можно добавить нового модератора:

Надеемся, эта инструкция внесла ясность и помогла вам самостоятельно установить комментарии Facebook для вашего сайта не WordPres.