Редирект с кириллического домена на обычный

Редирект с кириллического домена на обычный. Смотреть фото Редирект с кириллического домена на обычный. Смотреть картинку Редирект с кириллического домена на обычный. Картинка про Редирект с кириллического домена на обычный. Фото Редирект с кириллического домена на обычный

1. Склейка доменов

Самый распространенный случай, когда необходимо сделать 301-редирект домена c www на алогичный без www или наоборот, такую операцию веб-мастера называют просто «склейка доменов».

1.1 Редирект с http на www (основной домен c www)

RewriteEngine On
RewriteCond % ^domain.com
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]

1.2 Редирект с www на http (основной домен без www)

RewriteEngine On
RewriteCond % ^www.domain. com$ [NC] RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

1.3 Редирект сайта с http на https протокол

2. Пернеправление с одного домена на другой

RewriteEngine On
RewriteCond % 1domain.com
RewriteRule (.*) http://2domain.com/$1 [R=301,L]

данный способ дает возможность сделать пенеправление всех страниц сайта на аналогичные на новом домене, т. е. страница с url 1domain.com/test/1.php будет перенаправлен на аналогичную на новый домен 2domain.com/test/1.php.

redirect 301 /novosti.php http://2domain.com./news.php

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

3. Перенаправление с нескольких доменов

Необходимо сделать переадрессацию с доменов http://1domain.com и www.1domain.com на новый 2domain.com:

RewriteCond % ^1domain.com
RewriteRule ^(.*)$ http://2domain.com/$1 [R=301,L] RewriteCond % ^www.1domain.com
RewriteRule ^(.*)$ http://2domain.com/$1 [R=301,L]

Аналогично можно делать перенапрвление с domain.ua на domain.com и т. п.

4. Перенапрвление кириллических доменов

Чтобы получить punycode кириллического домена, необходимо воспользоваться специальным Punycode конвертером https://www.ukrnames.com/converter.jsp.

Исходное значение: домен.укр
После кодирования: xn--d1acufc.xn--j1amh
Значение после кодирование вписываем уже знакомый код редиректа.

4.1 Например направление с кириллического домена:

RewriteEngine On
RewriteCond % http://xn--d1acufc.xn--j1amh
RewriteRule (.*) http://domain.com/$1 [R=301,L]

4.2. Наоборот, переадресация на кириллический домен

RewriteEngine On
RewriteCond % domain.com
RewriteRule (.*) http://xn--d1acufc.xn--j1amh/$1 [R=301,L]

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

Источник

На хостинге RU-CENTER в настоящее время используется веб-сервер Apache версии 2.4.

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

Пожалуйста, будьте внимательны при редактировании файла .htaccess! При сохранении такого файла в кодировке UTF-8 в нём не должно присутствовать BOM-сигнатуры. Для редактирования файла .htaccess и других конфигурационных файлов мы рекомендуем использовать не «Блокнот» Windows, а специальные текстовые редакторы, например Notepad++.

1. Перенаправление доменов c синонима сайта на основной домен с кодом 301

Перенаправить запросы на domain.ru с любого из синонимов сайта

RewriteEngine On
RewriteCond % !^domain\.ru$ [NC]
RewriteRule ^(.*)$ http://domain.ru/$1 [L,R=301]

Перенаправить запросы на www.domain.ru с любого из синонимов сайта

RewriteEngine On
RewriteCond % !^www\.domain\.ru$ [NC]
RewriteRule ^(.*)$ http://www.domain.ru/$1 [L,R=301]

Эти правила рекомендуется размещать в самом начале файла .htaccess.

2. Постоянное перенаправление с кодом 301

Redirect 301 /page.html http://www.domain.ru/new_page.html

Например, для перенаправления всех запросов к странице /period/?test=123 вашего сайта на domain.ru, вы можете написать:

Options +FollowSymLinks
RewriteEngine On
RewriteCond % ^test=123$ [NC]
RewriteRule ^period/$ http://domain.ru/ [L,R=301]

3. Переопределение страниц ошибок

#401 Авторизация не выполнена
ErrorDocument 401 http://domain.ru/errors/401.html
#403 Доступ запрещен
ErrorDocument 403 http://domain.ru/errors/403.html
#404 Страница не найдена
ErrorDocument 404 http://domain.ru/errors/404.html
#500 Внутренняя ошибка сервера
ErrorDocument 500 http://domain.ru/errors/500.html

Соответствующие файлы страниц ошибок (401.html, 404.html и др.) необходимо разместить в каталоге

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

User-agent: *
Disallow: /errors

/ваш_домен/docs/errors/.htaccess, в котором прописать

4. Постраничное перенаправление запросов на другой домен c кодом 301

Следующий код перенаправит все запросы к страницам вашего сайта на аналогичные страницы другого сайта, например, запрос http://domain.ru/main будет переадресован на http://www.newdomain.ru/main:

Redirect 301 / http://www.newdomain.ru/

RewriteEngine On
RewriteRule ^(.*)$ http://newdomain.ru/$1 [R=301,L]

5. Ограничение доступа к сайту по IP

Запретить доступ к сайту с IP-адресов 123.4.5.6 и 123.5.4.3

Order Allow,Deny
Allow from all
Deny from 123.4.5.6 123.5.4.3

Запретить доступ к сайту со всех адресов кроме 123.4.5.6 и 123.5.4.3:

Order Deny,Allow
Deny from all
Allow from 123.4.5.6 123.5.4.3

Запретить доступ к сайту для всех:

6. Переопределение главной страницы сайта (индексного файла каталога)

Сделать главной страницей файл menu.html:

8. Запрет выдачи листинга каталога

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

Скрипт должен иметь атрибут исполнения (+x, права доступа, начинающиеся с 7, например, 755).

10. Блокировка переходов со сторонних ресурсов

Для запрета перехода c baddomain.ru на domain.ru добавьте в .htaccess следующее:

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

В файле .htaccess использование кириллицы не допускается. При составлении правил перенаправления для кириллических доменов необходимо указывать имя домена в punycode. Узнать имя домена в punycode можно с помощью сервиса Whois.

Например, для перенаправления site.ru на caйт.рф нужно воспользоваться следующим правилом:

RewriteEngine on
RewriteCond % ^www\.site.ru [NC]
RewriteRule ^(.*)$ http://xn--80aswg.xn--p1ai/$1 [R=301,L]

В этом случае ваши посетители могут увидеть именно punycode-представление доменного имени в адресной строке браузера. Это не является ошибкой.

12. Перенаправление с HTTP на HTTPS и обратно

Для работы перенаправления на сайте должен быть установлен действительный SSL-сертификат.

Перенаправить запросы на https://domain.ru

Перенаправить запросы на http://domain.ru

3. Диагностика ошибок

Если после редактирования или размещения .htaccess при обращении к сайту вы получили ошибку 500, то, скорее всего, в файле .htaccess допущена ошибка. Посмотреть её причины вы можете в лог-файле /var/log/ваш_домен.error_log.

Источник

Код состояния HTTP 301 или Moved Permanently («Перемещено навсегда») — стандартный код ответа сервера, который может быть получен, если запрошенный URL-адрес сайта был навсегда перенесен в новое месторасположение.

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

Анализ проведён с помощью инструментов в сервисе Пиксель Тулс.

Options +FollowSymLinks
RewriteEngine On

# Текстовый комментарий, данная строчка не будет обрабатываться.

RewriteCond % ^site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

RewriteCond % ^www.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

RewriteCond % ^80$ [OR]
RewriteCond % =on
RewriteRule ^(.*)$ https://pixelplus.ru/$1 [R=301,L]

Redirect 301 /was.php http://www.site.ru/new.php

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

RewriteRule ^dir /dir-new/$1 [R=301,L]

Скажем, адрес страницы имеет вид: http://www.site.ru/dir/index.php?IBLOCK_ID=1&SECTION_ID=111 тогда для настройки 301 переадресации на новый адрес, необходимо использовать следующее правило:

RewriteCond % ^IBLOCK_ID=1&SECTION_ID=111$ [NC]
RewriteRule ^dir/index\.php$ /new/sef/? [R=301,L]

Если один (или несколько) из GET параметров не задан(ы) или может иметь произвольное значение (в нашем примере это SECTION_ID), можно использовать следующий код:

RewriteCond % ^IBLOCK_ID=1&SECTION_ID=(.*)$ [NC]
RewriteRule ^dir/index\.php$ /new/sef/? [R=301,L]

Если адрес имеет следующий вид: http://www.site.ru/?abc то для перенаправления подойдет последовательность строчек:

RewriteCond % ^abc$ [NC]
RewriteRule ^$ /? [R=301,L]

Если требуется настроить переадресацию только для адреса http://www.site.ru/dir/, но при этом чтобы страница http://www.site.ru/dir/index.php?IBLOCK_ID=1 открывалась по старому адресу, необходимо использовать спецсимвол $ в правиле.

RewriteRule ^dir/$ http://www.site.ru/new-dir/ [R=301,L]

Для доменов в зоне РФ действуют все те же правила, но только все кириллические символы необходимо заменить на альтернативный код (он на латинице). В частности, сама зона .рф преобразуется в .xn--p1ai.

RewriteCond % ^old-site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

И для домена в зоне РФ:

RewriteCond % ^xn-. \.xn--p1ai$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

RewriteCond % ^si-te\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/si-te/ [R=301,L]

RewriteRule ^bitrix/ /bitrix/admin/ [L,R=301]
RewriteRule ^(.*)$ http://www.newsite.ru/new/ [L,R=301]

RewriteRule ^dir(.*)$ /new-file.php [L,R=301]

RewriteRule ^dir/no-file.html /no-file-new.html [L,R=301]
RewriteRule ^dir(.*)$ /all.php [L,R=301]

RedirectMatch 301 (.*)\.html$ http://www.new-site.ru$1.php

RewriteRule ^img/(.+)\.jpg$ http://img.domain.ru/$1.jpg [R=301,L]

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

DirectoryIndex index.html index.php index.htm index.shtml

RewriteCond % ^[A-Z]<3,9>\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.site.ru/ [R=301,L]

Для всех индексных страниц на сайте:
RewriteRule ^(.*)index\.php$ http://www.site.ru/$1 [R=301,L]

RewriteCond % ^test.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru% [R=301,NC,L,QSA]

RewriteRule [^abc]/unique-file.html /unique-file.html [R=301,L]

Код позволяет поставить 301-редирект со всех папок вида http://site.ru/***/uniqe-file.html на один файл в корне /unique-file.html. Бывает полезен при переделке сайта и изменении ссылок.

RewriteRule ^testovyi/test/?$ /studio/news/detail.php?ID=230354&PAGEN_2=11 [NC,L]

Код позволяет создать копию страницы с относительным адресом /studio/news/detail.php?ID=230354&PAGEN_2=11 по адресу /testovyi/test/

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

RewriteCond % ^80$ [OR]
RewriteCond % =on
RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]

Настройка позволяет отклонить спамный реферальный трафик с ряда ресурсов по заголовку HTTP_REFERER.

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

ErrorDocument 404 /404-for-me.php

! Для сайтов, на которых используется не сервер Apache, аналогичные 301-редиректы легко настраиваются с помощью PHP.

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

RewriteCond % (iPad|ipad|iphone|iPhone|ipod|iPod|android|midp|j2me|symbian|series\ 60|symbos|windows\ mobile|windows\ ce|ppc|smartphone|blackberry|mtk|bada|windows\ phone) [NC]
RewriteRule (.*) http://mobile.site.ru/ [L,R=301]

RewriteCond % !(accoona|ia_archiver|antabot|ask\ jeeves|baidu|dcpbot |eltaindexer|feedfetcher|gamespy|gigabot|googlebot |gsa-crawler|grub-client|gulper|slurp|mihalism|msnbot|worldindexer |ooyyo|pagebull|scooter|w3c_validator|jigsaw|webalta|yahoofeedseeker |yahoo!\ slurp|mmcrawler|yandexbot|yandeximages |yandexvideo|yandexmedia|yandexblogs|yandexaddurl|yandexfavicons |yandexdirect|yandexmetrika|yandexcatalog|yandexnews |yandeximageresizer) [NC]
RewriteRule (.*) http://no-search.site.ru/ [L,R=301]

Переадресация с www.site.ru/component/content/?view=featured на www.site.ru/
RewriteCond % ^view=featured$ [NC]
RewriteRule ^component/content/$ /? [R=301,L]

Переадресация с www.site.ru/index.php?idc=4&marea=6 на www.site.ru/
RewriteCond % ^idc=4&marea=6$ [NC]
RewriteRule ^index\.php$ /? [R=301,L]

. — Точка заменяет произвольный символ.
[abc] — обозначает перечень символов, совпадающих с буквами a, b, или с.
[^abc] — перечень символов, которые не входят в указанных диапазон. Совпадёт с любым символом, кроме a, b, или с.
* — означает, что предшествующий символ может повторяться (0 или более раз).
[abc]* — команда найдёт идущие подряд символы из заданного набора.
[^abc]* — с точностью до наоборот.

.* — заменяет абсолютно любой набор символов. «.*» — найдёт все подстроки между кавычками.
^ — начало строки (в том случае, если используется в начале выражения).
$ — обозначает конец строки.

\w — буква, цифра или подчёркивание _.
\d — заменяет любую цифру.
\D — заменяет любой символ, но не цифру.
1 — заменяет любую цифру.
[a-z] — любая буква от a до z (весь латинский набор символов) в нижнем регистре.
[A-Z] — любая буква от A до Z в ВЕРХНЕМ регистре.
[a-zA-Z] — любая буква от a до Z в любом регистре.
[a-Z] — то же самое.

Памятка по используемым символам и обозначениям

Строчка RewriteCond — условие выполнения правила RewriteRule. Если условие выполняется, то срабатывает редирект. Правила могут задаваться с помощью регулярных выражений.

Спецсимволы, используемые в правилах и их значения.

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

Флаги, задают доп. опции для используемого правила. Перечисляются в квадратных скобках через запятую, скажем [NC] или [R=301,L].

Источник

Автор: Виталий Винников, Апрель 12, 2011

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

Рассмотрим типичные правила перенаправлений.

Редирект с адреса с www-префиксом на адрес без www

Подобные перенаправления переадресуют все страницы сайта вида http://www.site.com.ua/page.html на страницы http://site.com.ua/page.html. Для такого типа редиректа можно использовать следующий шаблон:

Или же упрощенный вариант:

Редирект с адреса без www на адрес с www

Этот 301 редирект со страниц домена вида http://site.com.ua/page.html на страницы http://www.site.com.ua/page.html делается подобным описанному выше методу, только меняется положение www:

Или альтернативный упрощенный вариант:

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

Склейка индексной страницы с корнем сайта

Таким образом, при обращении к индексной странице сравнивается, если запрошенный адрес равен, к примеру, http://site.ua/index.php, то условие срабатывает и происходит переадресация на корень сайта http://site.ua/. Если сайт не перенаправляет все запросы на index.php можно воспользоваться следующим шаблоном для mod_rewrite:

Такой же редирект может использоваться и для других расширений главной страницы, таких как index.html, или например index.phtml.

Редирект с поддомена на подпапку

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

Редирект с подпапки домена на поддомен

Если необходимо наоборот, перенаправить пользователя с подпапки на поддомен, то используйте следующий шаблон:

Редирект с одних расширений файлов на другие

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

Редирект на другой сайт

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

Все страницы старого домена будут перенаправлены на соответствующие страницы нового.

301 Редирект динамических страниц

При модернизации динамического сайта и создании ЧПУ-адресов часто возникает необходимость перенаправить старые страницы с параметрами ID на новые с ЧПУ. Например, чтобы переадресовать страницу вида http://site.com.ua/page.php?id=13 на новую страницу http://site.com.ua/newname.html, используется следующая конструкция:

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

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

Автор статьи: Виталий Винников

Заместитель руководителя отдела разработки web-проектов компании «Promodo»

Обновления на E-mail или RSS

Понравилась статья и хотите получать новые?

Проверьте также папку «Спам» для активации ссылки

Подписавшись на обновления, вы получите:
1. Эксклюзивные статьи об интернет-маркетинге, продвижении сайтов и юзабилити
2. Интервью с экспертами отрасли
Гарантируем анонимность e-mail адреса

Связанные статьи:

Я совсем запутался. Спасибо.

Кликая на первую ссылку видно, что редирект уже работает. Самостоятельно нашли решение?

наверное поспешил с +1. Есть сайт, который обрабатывает запросы через index.php/ Но при добавлении рекомендованного здесь кода в начало файла — выдает ошибку в line 3, ну и сайт вообще не работает. Если добавить указанный здесь кусок ПЕРЕД кодом самого idex.php — все слова превращаются в «кракозябры» и слетает верстка.
Насколько вредным для СЕО будет использование Реврайта (ниже) в сайте который обрабатывает запросы через index.php?
RewriteCond % ^[A-Z]<3,9>\ /index\.php\ HTTP/

В htaccess по умолчанию стоит ещё такое правило:
RewriteRule ^(.*) index.php?% [L,E=REQUEST_URI:/index.php/$1]
Может єто из-за него?

зря мой комментарий удалили… рекомендую восстановить по-хорошему. иначе отберу назад +1

Здравствуйте.
У меня проблема следующего характера.
Несколько моих сайтов сделаны на простейшем самописном скрипте с использованием mod_rewrite для формирования ЧПУ:
RewriteRule part/([/]+)/([/]+)/([/]+)/?$ /index.php?part=$1&type=$2&project=$3 [L]
RewriteCond % /index.php?part=([&]+)&type=([&]+)&project=([ ]+) HTTP/
RewriteRule ^index.php$ http://site.ru/part/%1/%2/%3/? [R=301,L]

RewriteRule part/([/]+)/([^/]+)/?$ /index.php?part=$1&type=$2 [L]
RewriteCond % /index.php?part=([&]+)&type=([^ ]+) HTTP/
RewriteRule ^index.php$ http://site.ru/part/%1/%2/? [R=301,L]

RewriteRule part/([/]+)/?$ /index.php?part=$1 [L]
RewriteCond % /index.php?part=([ ]+) HTTP/
RewriteRule ^index.php$ http://site.ru/part/%1/? [R=301,L]

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

Все дело в том что УРЛ
http://site.ru/part/xxx/yyy/zzz/
после обработки mod_rewrite интерпретируется движком как
http://site.ru/index.php?part=xxx&type=yyy&project=zzz
все переменные part, type и project соответственно передаются в скрипт и всё работает.
И всё бы хорошо, но как оказалось УРЛ
http://site.ru/part/xxx/yyy/zzz (без слеша на конце)
также прекрасно интерпретируется как
http://site.ru/index.php?part=xxx&type=yyy&project=zzz
и по этому адресу получаем страницу с тем же содержимым.
Соответственно возникла проблема с дублированием контента на сайте.

Как Яндекс вышел на УРЛы без слеша? Не знаю. Скрипт сайта исправно генерирует все УРЛы со слешем в конце. Ссылки которые покупаю тоже всегда со слешем. Вероятно появились какие-то естественные беки без слеша. Но сейчас не об этом.

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

Источник

Редирект с кириллического домена на обычный. Смотреть фото Редирект с кириллического домена на обычный. Смотреть картинку Редирект с кириллического домена на обычный. Картинка про Редирект с кириллического домена на обычный. Фото Редирект с кириллического домена на обычный

Где искать и как редактировать

.htaccess — общепринятое и самое популярное название, но не обязательное (оно задается в файле httpd.conf). Несмотря на непривычное название, создавать и редактировать файл можно в любом текстовом редакторе.

Некоторые CMS дают возможность редактировать файл через административную панель. В Битриксе его легко можно найти в разделе Контент — Файлы и папки:

Редирект с кириллического домена на обычный. Смотреть фото Редирект с кириллического домена на обычный. Смотреть картинку Редирект с кириллического домена на обычный. Картинка про Редирект с кириллического домена на обычный. Фото Редирект с кириллического домена на обычный

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

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

Основные спецсимволы:

Основные переменные:

Настраиваем редиректы для SEO

При настройке 301 редиректов помните о двух правилах:

1. Настраиваем постраничные 301 редиректы

Это потребуется в следующих случаях:

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

2. Избавляемся от дублей

Каждая страница сайта должна быть доступна только по одному адресу. Для этого должны быть настроены:

Переадресация на слеш или наоборот

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

Код 301 редиректа на слеш:

Код 301 редиректа на страницы без слеша:

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

Редирект на HTTPS

Определять, с «www» или без будет главное зеркало, можно несколькими способами:

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

Редирект с www на без www

Редирект с без www на www

4. Перенаправляем с одного домена на другой

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

Воспользуйтесь одним из вариантов кода:

Не забудьте поменять в коде «mysite1» и «mysite2» на старый и новый домен соответственно.

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

Обеспечиваем безопасность сайта

5. Запрещаем загрузку картинок с вашего сайта

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

Осадите воришек при помощи этого кода:

6. Запрещаем доступ

Для нежелательных User Agents (ботов)

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

Частный случай такого запрета — запрет для поисковых роботов. Если вас почему-то не устраивает правило в robots.txt, можно запретить доступ, например, роботу Google при помощи таких директив:

Для всех, кроме указанных IP

Не забываем заменить «https://mysite.com» на адрес вашего сайта и вписать IP-адреса вместо IP1, IP2 и т.д.

Для определенных IP-адресов

Для подсети

Вписываем маску сети в строку после «deny from».

Спамные IP-адреса можно вычислить в логах сервера или с помощью сервисов статистики. В административной панели WordPress отображаются IP-адреса комментаторов:

Редирект с кириллического домена на обычный. Смотреть фото Редирект с кириллического домена на обычный. Смотреть картинку Редирект с кириллического домена на обычный. Картинка про Редирект с кириллического домена на обычный. Фото Редирект с кириллического домена на обычный

К определенному файлу

Вписываем название файла вместо «myfile.html» в примере. Пользователю будет показана ошибка 403 — «доступ запрещен».

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

Для пользователей, пришедших с определенного сайта

Вы можете заблокировать посетителей с нежелательных ресурсов (например, со взрослым или шокирующим контентом).

7. Защищаем доступ к определенному файлу или папке

Защита паролем файла

Защита паролем папки

8. Запрещаем выполнение вредоносных скриптов

Следующая группа директив защищает сайт от так называемых «скриптовых инъекций» — инструмента хакерских атак:

Все попытки причинить вред вашему ресурсу будут перенаправлены на страницу ошибки 403 «доступ запрещен».

9. Защищаем сайт от DOS-атак

Один из способов защиты — ограничить максимально допустимый размер запроса (ограничение отсутствует по умолчанию).

В примере указан размер 10 Мбайт. Если вы хотите запретить загрузку файлов, пропишите число меньше 1 Мбайт (1048576 байт).

Также можно изучить возможности директив LimitRequestFields, LimitRequestFieldSize и LimitRequestLine в официальной документации.

Настраиваем отображение сайта

10. Заменяем индексный файл

Индексный файл — тот, что открывается по умолчанию при обращении к определенному каталогу. Обычно они называются: index.html, index.htm, index.php, index.phtml, index.shtml, default.htm, default.html.

Вот как это выглядит в структуре каталога:

Редирект с кириллического домена на обычный. Смотреть фото Редирект с кириллического домена на обычный. Смотреть картинку Редирект с кириллического домена на обычный. Картинка про Редирект с кириллического домена на обычный. Фото Редирект с кириллического домена на обычный

Вместо «hello.html» вписывайте адрес желаемого файла.

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

11. Добавляем или убираем html в конце URL

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

Этими же директивами можно добавить/убрать расширение php.

12. Настраиваем кодировку

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

Чаще всего используют UTF-8 и Windows-1251.

Пример директивы, которая задает для файла кодировку UTF-8:

А такая команда означает, что все загружаемые на сервер файлы будут преобразованы в Windows-1251:

В примерах приведены разные кодировки, но в рамках одного сайта кодировки в этих директивах должны совпадать.

13. Создаем кастомные страницы ошибок

Перед тем, как прописывать директивы, создайте в корне сайта папку error и разместите туда соответствующие файлы для страниц ошибок.

Зачем это нужно? Например, чтобы не потерять пользователя на странице 404, а дать ему возможность перейти в другие разделы сайта:

Редирект с кириллического домена на обычный. Смотреть фото Редирект с кириллического домена на обычный. Смотреть картинку Редирект с кириллического домена на обычный. Картинка про Редирект с кириллического домена на обычный. Фото Редирект с кириллического домена на обычный

Оптимизируем работу сайта

14. Сжимаем компоненты сайта при помощи mod_gzip или mod_deflate

Синтаксис модуля Gzip более гибкий и он умеет работать с масками:

В mod_deflate вы перечисляете типы файлов, которые нужно сжать:

15. Усиливаем кэширование

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

В примере срок жизни кэша ограничен одной неделей («1 week»), вы можете указать свой срок в месяцах (month), годах (year), часах (hours) и т.д.

Другой вариант кода:

Для кэширования доступны следующие типы файлов:

Еще несколько возможностей

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

Этот комплекс настроек выполняют программисты, если нет доступа к файлу php.ini. Остановимся на выражениях php_value, которые отвечают за объем загружаемых на сайт данных и время обработки скриптов, т.к. это напрямую влияет на производительность.

В строке «upload_max_filesize» указываете максимальный размер загружаемых файлов в мегабайтах, «post_max_size» означает максимальный объем постинга, «max_execution_time» указывает время в секундах на обработку скриптов.

17. Боремся со спам-комментариями на WordPress

Вместо «mysite.com» впишите адрес вашего сайта.

18. Устанавливаем e-mail для администратора сервера

19. Предупреждаем о недоступности сайта

IP-адрес в примере (12\.345\.678\.90) замените на свой, в последней строке укажите адрес страницы вашего ресурса с информацией о характере и сроках завершения работ.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *