Как бороться с дублированным контентом / URL в Joomla?

11

Я только что обнаружил серьезную проблему SEO и пока решил ее; Я пытаюсь выяснить, почему это могло произойти в первую очередь и была ли ошибка или это как-то связано с самой Joomla. Первый вопрос:

Когда я сканировал сайт с помощью Moz, он показал четыре дубликата контента для домашней страницы, что было неожиданным. Так, например, для домашней страницы http://www.foo.com показывались дублированные URL-адреса контента, например:

foo.com/2-uncategorised/1-offers (canonical = foo.com/2-uncategorised/1-offers)
foo.com/2-uncategorised/2-enquiry (canonical = foo.com/2-uncategorised/2-enquiry) 
foo.com/2-uncategorised/3-products (canonical = foo.com/2-uncategorised/3-products) 

И все эти ссылки просто загружали содержимое домашней страницы, а метаданные были из статьи. Это явно указывало на то, что Joomla автоматически создала ссылки, и я нашел то же самое для 4 ссылок. Ссылка в статье была такая:

index.php?option=com_content&view=article&id=1&catid=2&Itemid=1
index.php?option=com_content&view=article&id=2&catid=2&Itemid=1
index.php?option=com_content&view=article&id=3&catid=2&Itemid=1

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

  1. Создать статьи
  2. Добавьте ссылку на другие статьи, используя вкладку «Статья» в редакторе контента.
  3. Создать пункт меню для статей

Поэтому мне было интересно, если здесь что-то явно не так. Я смущен, потому что есть более 100 статей, но это произошло только в 5 статьях. Спасибо.

Сиф
источник

Ответы:

15

Содержание этого ответа:

  1. Содержимое под тем же идентификатором товара
  2. Как создается дублированный контент / Динамические страницы / URL
  3. SEO перспектива
  4. Работа с дублирующимся контентом в Joomla
  5. Ссылки и ссылки

1. Почему статьи отображаются под одним и тем же

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

Узнайте больше об этом:

И этот также может быть проницательным:



2. Как создается «дублированный контент» / Динамические страницы / URL

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

Чтобы лучше это понять, вы можете отключить URL-адреса SEF на веб-сайте Joomla и немного изучить URL-адрес, отличный от SEF:

Пример:

index.php? вариант = com_content & вид = статьи & ID = 3 & CatID = 9 & Itemid = 101

Разбивая вышеприведенный запрос на пары полей-значений, мы видим:

  • option = com_content
  • вид = статья
  • id = 3
  • катид = 9
  • Itemid = 101

Это значения полей, которые Joomla понимает и попытается вернуть следующее содержимое:

Он выполнит запрос в компоненте com_content и будет использовать представление статьи для отображения элемента контента (статьи) с идентификатором 3, с идентификатором категории 9, используя пункт меню с идентификатором 101.


Много вариантов URL для 1 страницы

Однако та же статья может быть отображена с еще большим количеством комбинаций полей и значений:

Некоторые возможные комбинации могут быть:

  • index.php? вариант = com_content & вид = статьи & ID = 3 & CatID = 9
  • index.php? вариант = com_content & вид = статьи & ID = 3 & Itemid = 101
  • index.php? вариант = com_content & вид = статьи & ID = 3 & Itemid = 102
  • index.php? вариант = com_content & вид = статьи & ID = 3 & Itemid = 103
  • index.php? вариант = com_content & вид = статьи & ID = 3
  • index.php? вариант = com_content & вид = статьи & ID = 3 & LANG = EN
  • index.php? вариант = com_content & вид = статьи & ID = 3 & CatID = 9 & Itemid = 101 & LANG = EN

  • index.php? вариант = com_content & вид = статьи & ID = 3 & CatID = 9 & Itemid = 101 & LANG = ен и печать = 1

  • index.php? вариант = com_content & вид = статьи & ID = 3 & CatID = 9 & Itemid = 101 & LANG = EN & TMPL = компонент

Как видите, все вышеперечисленное запрашивает одни и те же данные из системы, то есть статьи с id = 3. Это приводит к тому, что к одному и тому же контенту / странице можно получить доступ через различные разные URL-адреса, а в некоторых случаях отображается в разных макетах.

* Если в Joomla включены URL-адреса SEF , вышеприведенное потенциально может привести к более чем 1 URL-адресу SEF для одной и той же статьи / контента.



3. Перспектива SEO

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

Однако основная проблема в том случае, если один и тот же контент / страница были проиндексированы более одного раза, заключается в том, что вы, возможно, теряете рейтинг страницы и максимально возможную производительность SEO , поскольку рейтинг страницы будет разделен на более чем 1 страницу вместо 1 ,

Имея это в виду, разумно иметь дело с этим, вместо того чтобы позволить поисковым системам индексировать URL-адреса при попытке угадать, показывают ли разные URL-адреса одинаковый или разный контент.
Более того, управление вашими URL-адресами и тем, что SE должен индексировать, может помочь вам повысить удобство работы пользователей в целом, поскольку пользователи сайта найдут одну и ту же страницу под 1-м стандартным URL-адресом, и это может создать более прочную структуру для веб-сайта и управления им. ,



4. Как бороться с дублирующимся контентом

  • Использование канонических URL-адресов для ваших страниц.
    Канонические URL-адреса проинструктируют поисковую систему о том, какой правильный URL-адрес страницы должен сканироваться и храниться в индексе.

  • Использование метаданных INDEX / NOINDEX, FOLLOW / NOFOLLOW. Использование таких метаданных на ваших страницах будет указывать поисковым системам, хотите ли вы, чтобы они индексировали или не указывали содержимое страницы и следовали или не следовали ссылкам, найденным на ней.

  • Использование 301 перенаправления / htaccess.
    Вы можете перенаправить все остальные URL на тот, который вы хотите на главной. Это может быть достигнуто с помощью SEF Extensions или htaccess . Оба обеспечивают большую мощность, однако htaccess обладает большой гибкостью, учитывая возможность использования регулярных выражений для всех видов перенаправлений / или перезаписей с использованием mod_rewrite. Что касается J Extensions, когда возникает необходимость, я обычно использую sh404SEF .

    Обновление: как @Neil Robertson отметил в комментариях: одно важное перенаправление - с версии сайта без www на версию сайта www или наоборот. Добавьте это в файл .htaccess для перенаправления не с www на www.

        ### Redirect non-www to www
        RewriteCond %{HTTP_HOST} !^www\. [NC]
        RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
        ### Redirect non-www to www - END 
    
  • Использование инструментов
    Google для веб- мастеров В Инструментах Google для веб-мастеров есть параметры для настройки поведения сканера с параметрами URL .

  • Использование файлов Sitemap
    Отправьте в поисковые системы структуру URL вашего сайта.

  • Используя файл Robots.txt,
    Google и другие крупные компании SE уважают ваш файл Robots.txt. Вы можете указать им не сканировать определенные каталоги / пути URL.

Все вышеперечисленные варианты могут быть объединены для получения желаемого результата.

* Как и везде, поэтому в Joomla хорошее планирование и организация контента всегда помогают достичь лучшего результата. Особенно с Joomla, это также включает в себя четкую категоризацию контента и структуру пунктов меню.



5. Ссылки и ссылки

Joomla SEO Расширения

Обычно в Joomla, если вы хотите эффективно справиться с этим, вы должны установить стороннее расширение SEO-SEF.



Больше чтения:

Ф.Фрюин
источник
1
один из лучших ответов на этом форуме :) очень полезно. спасибо @FFrewin
Joomler
1
Это отличный ответ. :) Для полноты, было бы неплохо добавить некоторую информацию о перенаправлении не-www-версии сайта в www-версию сайта или наоборот. Об этом часто забывают, но, вероятно, это основная причина дублирования контента на всех сайтах (не только в Joomla).
Нил Робертсон
Похоже, что новый роутер наконец увидит свет в Joomla 3.8, и это поможет упростить URL-адреса без необходимости стороннего расширения.
Нил Робертсон
1
@NeilRobertson: Я все еще думаю, что еще есть возможности для совершенствования, и для этого нужно больше работы, чтобы создать полное и эффективное решение для управления URL-адресами и дубликатами SEF на Joomla.
FFrewin
@FFrewin Я согласен. Похоже, что некоторые сторонние расширения также могут быть обновлены, чтобы воспользоваться преимуществами нового маршрутизатора.
Нил Робертсон
0

Если у меня есть несколько пунктов меню для одного и того же содержимого, я использую Системные ссылки / Псевдоним пункта меню, расположенные в Менеджере меню. Вот старая статья об этом; но метод все еще существует сегодня: https://magazine.joomla.org/issues/issue-apr-2016/item/2997-avoid-duplicate-content-with-a-menu-item-alias

@Neil, я согласен на 100%, что контент не-www и www читается как дубликаты. Вот код, который заставляет www быть не www. Поместите это в свой файл htaccess. Также добавлен протокол безопасности https. Этот код не единственный метод, но я успешно использую его на многих сайтах.

RewriteCond %{HTTP_HOST} ^www.yourwebsite.com [NC]
RewriteRule ^(.*)$ https://yourwebsite.com/$1 [L,R=301]
Яя
источник