Персональный SEO блог


5 советов по борьбе с алгоритмом Panda для крупных сайтов

10.04.2012 Опубликовано в разделе: SEO

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

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

Эти скрипты предназначены для платформ на PHP/MySQL, но их нетрудно переписать, используя любые другие языки.

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

1. Избавьтесь от дублированного контента на сайте

Проблема

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

Идея

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

Техническое решение

Функция сравнения Левенштейна доступна базово в каждом языке программирования и очень проста в использовании. Если в Вашей базе данных находится около 10 000 статей, то это процесс может занять некоторое время. У Вас будет время подумать над несовершенством своей БД.

levenshtein

Может быть, мы используем не идеальные методы, но, используя их, Вы добьётесь желаемых результатов.

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

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

В) Извлеките статью и сравните её со всеми остальными, используя расстояние Левенштейна. Этот процесс лучше выполнить на уровне приложения, нежели на уровне базы данных в качестве сохранённой процедуры (получили наилучшие результаты, используя функцию levenshteinDistance2()). Если даже процесс сравнения одной статьи со всеми остальными занимает очень продолжительное время, нужно сократить список “подозреваемых”. Сократите количество статей для сравнения: проверяйте статьи только того же автора или похожего объёма, или только те, которые опубликованы в близкий интервал времени.

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

Д) В завершении сохраните первичный ключ статьи в колонку, созданную в пункте А). Эти пункты описывают одну полную итерацию. Количество итераций в Вашем случае должно равняться количеству статей за вычетом единицы.

2. Проверьте правописание в своих статьях

Проблема

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

Идея

Нам нужно автоматизированное решение. В PHP, например, есть такие функции, как soundex() и levenshtein(), но они не справятся с задачей, когда речь идёт об отдельных словах. Конечно, Вы можете использовать список из наиболее распространённых слов, которые пишут с ошибками. Однако этот вариант решит проблему только частично. Лучшее решение, найденное нами – использовать инструмент для проверки орфографии с открытым исходным кодом под названием Portable Spell Checker Interface Library (для английского языка).

Техническое решение

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

pspell

3. Используйте директиву rel=”cannonical”

Проблема

Директива rel=”canonical” очень полезна для устранения путаницы, когда два URL-адреса возвращают идентичное содержание.

Идея

Если Вы используете Wordpress, то можете просто установить плагин ALL IN ONE SEO или подобный и пользоваться его возможностями. Если же Вам нужно специфическое решение читайте далее.

Техническое решение

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

canonical

4. Удалите “умные кавычки”, созданные MS Word

Проблема

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

Идея

Тут всё просто: используйте функцию REPLACE в таблице своей базы данных, где хранятся статьи.

Техническое решение

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

smartquotes

5. Исправьте неправильные сокращения

Проблема

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

Идея

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

Техническое решение

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

contractionsАвтор технических решений SEO оптимизации под алгоритм Google Panda: Corey Northcutt

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

p/s предлагаю послушать песню и расслабить мозг после поста)))



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

2 комментариев к «5 советов по борьбе с алгоритмом Panda для крупных сайтов»

  1. Самосвал пишет:

    Сейчас вышел новый алгоритм. Похуже панды будет-половина хороших сайтов по ВЧ послетали. Опять вообщем гугл чудит

  2. Данила пишет:

    Где можно посмотреть полный код функции levenshteinDistance2()?

    Статья интересная, но алгоритм Левенштейна не раскрыт.

Авторский seo блог заводского трудяги, seo новости и полезная seo информация

Дизайн и создание шаблона