- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Движок сайта DLE, как известно без дополнительных действий у этого движка появляются дубли страниц за счёт страниц со слэшем и без, например: http://www.anime-news.org.ua/anime и http://www.anime-news.org.ua/anime/ обе эти страницы имели одинаковый контент и выдавали статус код 200 ОК. Я решил добавлять в конец адреса слэш с 301 редиректом, нашёл в инете вот такой код:
Но возникла проблема в конец всех файлов слэш стал добавляться, то есть, например: http://www.anime-news.org.ua/sitemap.xml/ Тогда я изменил код таким образом:
Слэш перестал добавляться к html и xml файлам, вроде всё работает нормально, но хотел бы комментарий от знающих людей, всё ли правильно было сделано. И отдельно вопрос: Что значит строчка:
Также ещё вопрос: На сайт устанавливал модуль карты сайта, изначально для ЧПУ в .htaccess был прописан такой код:
Так как с таким кодом были доступны две одинаковые страницы с кодом статуса 200 ОК: http://www.anime-news.org.ua/sitemap и http://www.anime-news.org.ua/sitemap/.
Поменял код на:
Правильно ли я сделал?
Далее сделал перенаправление с домена без www на домен с www, а также с /index.php /index.html на /.
Всё ли правильно?
Потом посмотрел в панель вебмастера в гугле и увидел, что есть ещё дубли за счёт, например: http://www.anime-news.org.ua/anime/ и http://www.anime-news.org.ua/anime/page/1/. Добавил вот такой код:
Но не работает такой код, если ввести адрес http://www.anime-news.org.ua/anime/page/1/, то перенаправление не происходит, а если ввести http://www.anime-news.org.ua/anime/page/1 , тогда вообще кидает на страницу с таким же содержанием, но адресом http://www.anime-news.org.ua/home/amd7750/public_html/home/amd7750/public_html/anime/.
Как исправить код, что бы правильно обрабатывало?
Помогите, пожалуйста!
На данный момент весь код имеет вид:
Дальше стандартное содержание от движка DLE 9.3.
P.S. Дополнительный вопрос: Как правильно слэш или слеш или этого слова в русском языке в таком виде вообще нету?
Поменял код на:
Правильно ли я сделал?
Нет.
Остальные г-редиректы даже не стал смотреть.
#Для index.php
RewriteCond %{THE_REQUEST} index\.(php|html)
RewriteRule ^index\.(php|html)$ / [L,R=301]
#Page1
RewriteRule ^(.*)page/1/?$ /$1 [L,R=301]
#Для со слэшем и расширением
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)(?<!/)$ /$1/ [L,R=301]
добавить после и в таком порядке
RewriteRule ^(.*)$ http://www.anime-news.org.ua/$1 [R=301,L]
siv1987
Спасибо за помощь, но не вышло.
Попробовал вот так:
И так:
В обоих случаях на всех страницах сайта белый экран с надписью:
The document has moved here.
Что я сделал не так? Помогите, пожалуйста.
Вообще как-то у вас все запутано, извиняюсь...
Посмотрите в дефолтный .htaccess
RewriteRule ^([^.]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&cstart=$2 [L]
RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]
1-ое:
Например эта строка
отвечает за то чтобы обращения как к site.com/cat1/ так и к site.com/cat1 обрабатывались одинаково (для этого знак вопрос после / в регулярном выражении).
2-ое:
я проверил у меня на dle нет 301 редиректа как в вашем случае (это наверное ваши настройки)
seo_trudogolik добавил 27.09.2011 в 23:42
Чтобы таких дублей не было, нужно все что /page/1 закрыть от индексации, я делал через
(робот по ссылкам с этих страниц будет прекрасно переходить)
seo_trudogolik добавил 27.09.2011 в 23:49
Я для этого правил engine.php, возможно существует более "правильный" способ, но это было очень давно и я туда не хочу лезть, яша сайт "любит" пусть любит и дальше.... :)
Вот, что ставил я перед
<title>{$metatags['title']}</title>
if (
preg_match ("#^/$#",$_SERVER['REQUEST_URI']) ||
preg_match ("#^/([^.]+)/([0-9]+)-(.*).html(/?)+$#",$_SERVER['REQUEST_URI']) ||
preg_match ("#^/([^.]+)/?$#",$_SERVER['REQUEST_URI']) &&
!preg_match ("#^/[0-9]{4}#",$_SERVER['REQUEST_URI']) &&
!preg_match ("#^/catalog/([^/]*)(/?)+$#",$_SERVER['REQUEST_URI']) &&
!preg_match ("#/page/[0-9]+/?$#",$_SERVER['REQUEST_URI']) &&
!preg_match ("#^/user/#",$_SERVER['REQUEST_URI']) &&
!preg_match ("#^/user/.+?/news#",$_SERVER['REQUEST_URI']) &&
!preg_match ("#^/\?#",$_SERVER['REQUEST_URI']) &&
!preg_match ("#^/favorites/#",$_SERVER['REQUEST_URI']) &&
!preg_match ("#^/[0-9]{4}/[0-9]{2}?/[0-9]{2}?/?#",$_SERVER['REQUEST_URI'])
)
{
$seo_meta_robots="<meta name=\"robots\" content=\"all\" />";
}
А далее вот так
<title>{$metatags['title']}</title>
<meta http-equiv="Content-Type" content="text/html; charset={$config['charset']}" />
<meta name="description" content="{$metatags['description']}" />
<meta name="keywords" content="{$metatags['keywords']}" />
$seo_meta_robots
<meta name="revisit-after" content="1 days" />
<link rel="search" type="application/opensearchdescription+xml" href="{$config['http_home_url']}engine/opensearch.php" title="{$config['home_title']}" />
HTML;
А вообще DLE очень классный движок, его если нормально "подпилять" то все будет ок :)
seo_trudogolik
1) В движке DLE нет 301 редиректа на основной домен сайта, например: с http://anime-news.org.ua/ на http://www.anime-news.org.ua/.
2) В движке DLE нет 301 редиректа на / с /index.php и / index.html.
3) Также возникают дубли из-за страниц вида: page/2/ и page/2, это две одинаковые страницы, которые выдают статус 200 ОК, то есть создаться море дублей, особенно учитывая, что на сайте уже более двух тысяч новостей…
Надо реализовать вышеописанные пункты.
1 и 2 пункт в любом случае 301 редирект, а вот 3 пункт спорный с ним справляются люди по-разному. Идут до сих пор споры, что лучше ссылки со слэшем или без. Я выбрал вариант ссылок со слэшем, так как мне лично ссылки со слэшем в конце нравятся больше и, похоже, создатели движка DLE думают также, так как движок генерирует ссылки со слэшем в конце, если выбрать вариант без слэшей, тогда нужно будет вносить довольно много изменений в движок, какие именно можно прочитать здесь: http://alaev.info/post/2400
Закрыть страницы без слэшей от индексации при помощи мета тега <meta name="robots" content="noindex,follow" /> идея хорошая, но я догадываюсь, что придется опять-таки же вносить изменения в движок сайта, сомневаюсь, что эти теги можно расставить на нужные страницы в автоматическом режиме без изменений в движке, хотя может я и ошибаюсь, напишите тогда, как это сделать, если это так.
Из выше сказанного, учитывая тот факт, что я не хочу вносить изменений в движок сайта, следует вывод, что наиболее рациональный выход из сложившейся ситуации – это использовать 301 редиректы, так как в этом случае нужно изменить только один файл, а именно: .htaccess
Так как реализовать все 3 пункта описанные в начале этого сообщения при помощи только 301 редиректов редактируя только файл: .htaccess?
P.S. ИМХО: Ещё бонус от 301 редиректа, если со страницы page/2 происходит 301 редирект на страницу page/2/, тогда в этом случае вес первой страницы перетекает ко второй, происходит склейка этих двух страниц, а если первую запретить к индексированию при помощи мета тега, тогда вес первой страницы просто испарится в никуда склейка этих двух страниц не произойдёт. Так зачем же терять веса попусту, хотя я могу и ошибаться.
Что я сделал не так? Помогите, пожалуйста.
Нету тут никаких мовед перманентли, тестировалось на совместимость с htaccess-ом дле.
Свои редиректы я надеюсь удалили?
Перед этим реврайтКонд не забыли?
siv1987 добавил 28.09.2011 в 01:43
Вот это
RewriteRule ^index\.(php|html)$ / [L,R=301]
Замените на
RewriteRule ^index\.(php|html)$ /? [L,R=301]
2) В движке DLE нет 301 редиректа на / с /index.php и / index.html.
3) Также возникают дубли из-за страниц вида: page/2/ и page/2, это две одинаковые страницы, которые выдают статус 200 ОК, то есть создаться море дублей, особенно учитывая, что на сайте уже более двух тысяч новостей…
Возьмите оригинальный .htaccess с инсталяции dle. Далее по порядку
1. Для того чтобы решить проблему с www и без вам нужно сделать 301 редирект. Для этого просто
2. Для того чтобы решить эту проблему добавьте в конце
RewriteRule ^(.*)index\.(php|html)$ /$1 [R=301,L]
Если вам нужны там phtml - то добавляйте (php|html|phtml) и т.д. (может я даром объясняю, если вы знакомы с рег. выр.)
3. Страницы /page/2 и т.д. и т.п. /cat/page/2 - добавление в индекс поисковиков этих страниц, ни к чему хорошему не приводит! Сделайте для них
Вообще сделайте
В .htaccess добавляйте все в конец, запускайте firefox с firebug и смотрите отладку.
seo_trudogolik добавил 28.09.2011 в 02:07
вот вам еще пример дублированного контента (проблема с пониятием главной в DLE)
main/anime/page/1/
/anime/page/1/
seo_trudogolik добавил 28.09.2011 в 02:20
В индексе гугла по site:http://www.anime-news.org.ua первые страницы идут
page/116/ и т.д.
потом много 2011/02/13/ а также 2011/02/page/6/ и ему подобного.
Итого из 2460 страниц навскидку в основном индексе - 668
(по запросу site:http://www.anime-news.org.ua/&)
В яндексе приблизительно та же ситуация, дополнительно еще и снипеты как обычно яша не может понять (ему нужно подсказать где текст с помощью <index>). Я бы рекомендовал начать не с редиректов, а с того что я сказал...
siv1987
Добавил Ваш код в таком виде:
Всё заработало так как надо большое спасибо.
Код добавлен в начало .htaccess лучше в начало или в конец помещать?
Вопрос по поводу ЧПУ для карты сайта:
Правильно или нет? Работает нормально, но хотелось бы быть уверенным.
seo_trudogolik
Я недавно начал изучать SEO, и до этого не подозревал о дублях контента вообще, и том, что это плохо, наоборот думал, чем больше страниц, тем лучше, учитывая, что сайт был в те времена добавлен в сапу. Так как со страниц навигации и от главной типа: /page/2/ … /page/N/ и от категорий, например: /anime/page/2/ … /anime/page/N/ уже есть ссылки в сапе, я не могу добавить мета теги noindex. А на новом сайте, который начал делать недавно, эту проблему решил через robots.txt, вот содержание его:
То есть теоритически таким robots.txt я закрыл от индексации все абсолютно ссылки кроме тех, которые есть в sitemap.xml, а именно для индексации доступно только главная страница, главные страницы категорий и страницы новостей, если будут вылизать какие-то левые страницы буду добавлять дополнительные директивы в robots.txt, что бы поубивать их. ИМХО исключение через robots.txt без колупания движка сайта, что бы поставить на нужные страницы нужные мета теги, для меня удобней, может я и ошибаюсь. Что Вы скажите по поводу такого варианта скрытия ненужных страниц?
В случае с robots.txt поисковики смогут находить новый контент только скажем через главную или через внешние ссылки. Это не означает, что что-либо будет не проиндексировано. В последних версиях DLE появилась такая полезная возможность, как автоматическое уведомление поисковых систем о новом sitemap.xml, что снижает эту вероятность. Хотя опять же все зависит от уникальности контента. С другой стороны, чем лучше страницы перелинкованы между собой, тем больше вероятность, что большая их часть будет проиндексирована, поэтому я отдаю предпочтение своему способу. Делайте так, как считаете правильнее :)
siv1987
Заметил сегодня косяк, появившийся после вставки редиректов предложенных вами. Перестали работать ссылки выйти из профиля /index.php?action=logout зарегистрироваться на сайт /index.php?do=register и т.д. и т.п. Что не так с редиректами? Код:
Перестали работать ссылки выйти из профиля
После
RewriteCond %{THE_REQUEST} index\.(php|html)
Добавить
RewriteCond %{QUERY_STRING} ^$