Перейти к публикации

Рекомендованные сообщения

Добрый день! Уважаемые форумчане, подскажите пожалуйста правильный готовый вариант настройки .htaccess, который будет идеальным.

Тоесть не только склеит основные зеркала но избавит от дублей:

1. Избавиться от слеша в конце доменного имени

2. Переадресация с /index.php

3. Переадресация с page/1 и page/1/

4. Переадресация с Категория/page/1 и Категория/page/1/ на категория/

5. Чтоб был слеш только в конце категорий, пишут что это приятно радует поисковых ботов.

6. Возможно что-то еще необходимо.

 

Заранее спасибо.

Ссылка на сообщение
Поделиться на других сайтах

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

2. В index.php есть rel="canonical". Смысла нет в редиректе, просто уберите все ссылки в шаблоне ведущие на index.php

3. DLE это делает автоматически.

4. DLE это делает автоматически.

5. Это есть.

6. В настройках включить "Обрабатывать неверные URL ЧПУ".

Ссылка на сообщение
Поделиться на других сайтах

2. То есть вместо /index.php указывать просто / ?

3 и 4 DLE 11 не делает.

Обработка неверных URL ЧПУ всегда включаю

 

Создал такое решение, но насколько оно правильное?

 # Редиректы - убран дубль по странице /page/1 - редирект на основное зеркало

RewriteCond %{REQUEST_URI} ^/page/1/$
RewriteRule ^.*$ http://site.com/? [R=301,L]

RewriteCond %{REQUEST_URI} ^/page/1$
RewriteRule ^.*$ http://site.com/? [R=301,L]

# Редиректы - основное зеркало сайта без Www
  
RewriteCond %{HTTP_HOST} ^www\.site\.com$ [NC]
RewriteRule ^(.*)$ http://site.com/$1 [R=301,L]
    
# Редиректы - убран дубль по странице /index.php
    
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/
RewriteRule .* / [R=301,L]
    
# Редиректы - убран дубль по странице /category/page/1 - редирект на /category/
    
RewriteBase /
RewriteRule ^(.*)page/1(/|)$ $1 [R=301,L]

 

Изменено пользователем Cartmont
Ссылка на сообщение
Поделиться на других сайтах

Логика скрипта действительно не делает редирект с /category_name/page/3 на /category_name/page/3, а отправляет сразу на /category_name/ что как бы не правильно.
И с /category_name/page/1/ на /category_name/ так же редиректа нет, т.е. дубликат получается.

Если уж начал разработчик делать нормальные адреса, то нужно было бы все ситуации отработать, а не только с /category_name на /category_name/.

Ссылка на сообщение
Поделиться на других сайтах

ТС, да, просто слеш или адрес с ним.

Исходя из вашего .htaccess ничего кроме "с www на без", как бы и не нужно, остальное "устаревшая годами хрень";), достаточно после RewriteEngine On:

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]

Пункты 3 и 4 вашего вопроса поддерживаются скриптом по умолчанию уже давно (или я возможно чего-то не понял, приведите тогда конкретный пример, вернее ссылку на сайт), тем более в 11-ой версии, если не накосячили с правкой файлов DLE.

Изменено пользователем Captain
Ссылка на сообщение
Поделиться на других сайтах

3 и 4 пункты спорные, сейчас объясню свою точу зрения.

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

Но фишка в том, что сама навигация вместо page/1/ ведет на /категорию/ или главную/ страницу, смотря где мы находимся.

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

 

А как же быть с index.php просто его не упоминать при создании шаблона?

Изменено пользователем Cartmont
Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, Captain сказал:

ТС, да, просто слеш или адрес с ним.

Исходя из вашего .htaccess ничего кроме "с www на без", как бы и не нужно, остальное "устаревшая годами хрень";), достаточно после RewriteEngine On:


RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]

Пункты 3 и 4 вашего вопроса поддерживаются скриптом по умолчанию уже давно (или я возможно чего-то не понял, приведите тогда конкретный пример, вернее ссылку на сайт), тем более в 11-ой версии, если не накосячили с правкой файлов DLE.

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

Ссылка на сообщение
Поделиться на других сайтах

/page/1/ и /page/1 видны, только если ручками писать в строку, кнопок и ссылок ведущих на них не нашел

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Cartmont сказал:

/page/1/ и /page/1 видны, только если ручками писать в строку, кнопок и ссылок ведущих на них не нашел

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

Ссылка на сообщение
Поделиться на других сайтах
9 минут назад, SKYNET74 сказал:

Однако это не значит что это не позволяет нагадить нужному сайту...

Однако значит. К любому сайту на любом движке я могу прописать что либо к URL, при этом отображаться будет тот же контент, а ссылка будет другой. Поисковики давно уже не глупы, и не индексируют страницы если есть индекс, по ссылкам найденным на самой страницы. Эти страшилки были актуальны лет десят назад. Никому нагадить в данном вопросе нельзя, при современных алгоритмах работы поисковиков. Пример https://www.yandex.ru и https://www.yandex.ru/?aksdj=ksajdh два разных адреса, один и тот же контент, навредите поисковику яндекса в том же гугле или любом другом.

 

9 минут назад, SKYNET74 сказал:

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

Какие старые? DLE таких ссылок никогда не формировал.

Ссылка на сообщение
Поделиться на других сайтах
11 минуту назад, celsoft сказал:

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

 

Какие старые? DLE таких ссылок никогда не формировал.

т.е. по вашему нельзя скормить ПС дубликат страницы /news/ по адресу /news/page/1/?
Их внутренние алгоритмы нам не ведомы, и вместо надежды на вменяемость ПС может стоит сделать просто переадресацию, как у всех других SEO направленных CMS?
Для других рандомных GET параметров есть вообще как бы каноническая ссылка, которая тоже не везде используется.

PS: Приводить в пример яндекс и сравнивать его со свежим сайтом, это как сравнивать мягкое с солёным...

Изменено пользователем SKYNET74
Ссылка на сообщение
Поделиться на других сайтах
25 минут назад, SKYNET74 сказал:

т.е. по вашему нельзя скормить ПС дубликат страницы /news/ по адресу /news/page/1/?

И при этом как то навредить сайту? Нет нельзя. Поисковик примет за основную страницу ту которая стоит на самом сайте, т.е. /news/ а страницу /news/page/1/ отбросит как дубликат, на ранжировании основной страницы это никак не скажется.

 

25 минут назад, SKYNET74 сказал:

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

Алгоритмы ранжирования неизвестны, а вот алгоритмы приоритетов ими прекрасно опубликованы и описаны.

 

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

Ссылка на сообщение
Поделиться на других сайтах
47 минут назад, SKYNET74 сказал:

т.е. по вашему нельзя скормить ПС дубликат страницы /news/ по адресу /news/page/1/?

Почему, если например на каком то внешнем сайте умышленно например поставить ссылку на ваш сайт /news/page/1/, то робот ее найдет, в панели вебмастера у вас отсветится что такую страницу нашел робот. Эти уведомления специально сделаны для вебмастеров, чтобы если они допустили где ошибку и не заметили исправили ее. Но вреда от этой ссылке на внешнем сайте, для самого сайта не будет никакого.

 

47 минут назад, SKYNET74 сказал:

PS: Приводить в пример яндекс и сравнивать его со свежим сайтом, это как сравнивать мягкое с солёным...

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

 

47 минут назад, SKYNET74 сказал:

как у всех других SEO направленных CMS?

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

 

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

Ссылка на сообщение
Поделиться на других сайтах
27 минут назад, celsoft сказал:

И при этом как то навредить сайту? Нет нельзя. Поисковик примет за основную страницу ту которая стоит на самом сайте, т.е. /news/ а страницу /news/page/1/ отбросит как дубликат, на ранжировании основной страницы это никак не скажется.

 

Алгоритмы ранжирования неизвестны, а вот алгоритмы приоритетов ими прекрасно опубликованы и описаны.

 

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

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

 

 

7 минут назад, celsoft сказал:

Почему, если например на каком то внешнем сайте умышленно например поставить ссылку на ваш сайт /news/page/1/, то робот ее найдет, в панели вебмастера у вас отсветится что такую страницу нашел робот. Эти уведомления специально сделаны для вебмастеров, чтобы если они допустили где ошибку и не заметили исправили ее. Но вреда от этой ссылке на внешнем сайте, для самого сайта не будет никакого.

 

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

 

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

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

Ссылка на сообщение
Поделиться на других сайтах
14 минуты назад, SKYNET74 сказал:

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

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

 

14 минуты назад, SKYNET74 сказал:

Примеры нужно подобрать, с ходу сразу не готов их так показать.

Когда будете готовы можете прислать, а еще лучше приведите пример как вы кому то навредили. Можете взять наш сайт dle-news.ru он на чистом DLE, навредите ему через подобные ссылки, продемонстрируйте так сказать свои утверждения в действии.

Ссылка на сообщение
Поделиться на других сайтах
16 часов назад, SKYNET74 сказал:

Логика скрипта действительно не делает редирект с /category_name/page/3 на /category_name/page/3, а отправляет сразу на /category_name/ что как бы не правильно.

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

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...