Домены с www и без него — история появления, использование 301 редиректа для их склеивания
Обновлено 24 сентября 2022 Просмотров: 41 841 Автор: Дмитрий ПетровЕсть мнение, и оно не безосновательно, что каждый ресурс в сети должен иметь 301 редирект, который был бы настроен так, чтобы один из вариантов написания доменного имени в Урле (с или без www) был бы главным (например, для моего блога главным является вариант ktonanovenkogo.ru, и при заходе по адресу www.ktonanovenkogo.ru, вас автоматически перебросит на ktonanovenkogo.ru).
Для чего это нужно, спросите вы? Да и что такое доменная система имен? Об этом я и постараюсь рассказать в этом посте, но начать, пожалуй, стоит с истории зарождении самой проблемы, связанной с использованием или не использованием приставки WWW в Урле страниц ресурса.
Откуда появилась приставка WWW и что в этом плохого
Несколько десятков лет назад World Wide Web была лишь малой частью интернета, а сервера были очень слабенькими, поэтому приходилось размещать, например, сервер Apache на одном компьютере, почтовый сервер на другом, а сервер FTP — на третьем.
Имена серверов начинались с названия машин, на которых они располагались, и в зависимости от предоставляемого сервиса выглядели так: www.domain.com, mail.domain.com, и ftp.domain.com (а так же совсем раритет — gopher.domain.com).
В настоящее же время данные приставки являются анахронизмом и они должны были бы благополучно отмереть, однако, до сих пор существует масса каталогов, которые автоматически прибавляют к имени вебсайта вида domain.com пресловутое www.
Так же существует немало пользователей, которые автоматически набирают в браузерах адрес ресурса с этой приставкой в начале (все же знают песню группы Ленинград). Поэтому данный префикс остается и создает очень интересную ситуацию.
Получается, что www.domain.com и domain.com технически считаются полностью различными объектами, причем www.domain.com является родственным домену третьего уровня вида sub..
domain.com
Но при этом же, обычно, www.domain.com и domain.com ведут (или должны вести) на одну и ту же страницу (в отличии от субдомена sub.domain.com), т.е. получается, что оба они являются псевдонимами для друг друга (алиасами, зеркалами или же по англицки alias).
Конечно же, можно все это пропустить и не забивать голову, но если вы всерьез заботитесь о продвижении в поисковых системах, то это может быть огромной помехой у вас на пути. Смотрите сами, что получается. Многие поисковики воспримут domain.com и www.domain.com как разные ресурсы, со всеми вытекающими отсюда последствиями.
А именно — все внешние ссылки на ваш проект будут делиться на две части, в зависимости от того, в каком виде на вас проставили ссылку (с www или же без него).
Получается, что вы лишаетесь части внешних ссылок, а это, соответственно, приводит к понижению сайта в рейтинге поисковиков (влияет отрицательно на ранжирование, про которое я писал здесь), и пользователей с них к вам будет приходить меньше, чем могло бы.
Кроме этого еще нужно учитывать то, что серьезные поисковики (Google, например) борются за уникальный контент и не индексируют страницы двойники (и даже ресурсы целиком могут выпасть из индекса), что чревато для нашей ситуации. Поясню.
Допустим, что доменное имя domain.com стало популярным и на него много ссылаются, но, как на зло, при начальной индексации поисковик нашел первым вариант написания и теперь получается, что domain.com стал двойником (не имеет уникального содержания) и с большой долей вероятности он выпадает из индекса. Печально, не правда ли? Теперь поговорим о том, как этого избежать.
Кто-то очень умный придумал способ, как переадресовать один псевдоним к другому, который по существу является переадресацией к самому себе. Способ этот называется Редирект и существует несколько вариантов его реализации на разных серверах. Я приведу здесь самый простой, на мой взгляд, способ с использование файла Не забывайте про обратную наклонную черту перед точкой (.) в строке RewriteCond — она обязательна. При 301 редиректе Google должен объединять PR данных ресурсов. Теперь, кстати, ваш интернет проект будет доступен и по доменному имени с www, так и без него, но в адресной строке вас будет перебрасывать на то имя, на которое вы настроили редирект. Этот способ называется «перенаправление с шаблоном». В результате получается следующее: если набрать в адресной строке, например, https://www.ktonanovenkogo.ru/, то пользователь будет автоматически перемещен на ту же страницу, только без префикса – https://ktonanovenkogo.ru/. Для Яндекса дополнительно надо определить, какое зеркало (псевдоним) является главным, с помощью директивы 'Host' в файле Код, добавляемый в Лучше будет вынести директиву 'Host' в отдельную секцию, предназначенную только для робота Яндекса (User-agent: Yandex), т.к. возможно, что другие поисковики (Google, например) могут некорректно отработать непонятную им директиву. Так же по стандартам файла Мой файл Более подробно о создании файла .
(.*)$ http://www.vash_sait.ru/$1 [R=301,L] Директива Host — задаем главное зеркало для Яндекса
Robots.txt. Он также, как и файл .htaccess, находится в корневом каталоге (если его там не окажется, то вам нужно будет его создать у себя на компьютере в любом текстовом редакторе, а затем закинуть в корень хоста по FTP).
Robots.txt, должен выглядеть следующим образом:User-agent: Yandex
Disallow:
Host: ktonanovenkogo.ru
robots.txt в каждой секции 'User-agent' должна присутствовать хотя бы одна директива 'Disallow', поэтому мы и поставили в коде пустую, ничего не запрещающую директиву Disallow:.Robots.txt, после добавления приведенного выше кода, стал выглядеть так:User-agent: *
Disallow:
User-agent: Yandex
Disallow:
Host: ktonanovenkogo.ru
Sitemap: https://ktonanovenkogo.ru/sitemap.xml.gz
Sitemap: https://ktonanovenkogo.ru/sitemap.xml
robots.txt вы можете прочитать в приведенной статье про улучшение индексации сайта поисковыми системами Яндекс и Google.
301 редирект с одного доменного имени на другое
У меня, кстати, возникла еще одна необходимость воспользоваться 301 редиректом. Дело в том, что некоторые мои проекты базируются на free хостинге , который при регистрации предоставляет бесплатное доменное имя третьего уровня.
Но я практически сразу покупал для своих проектов доменные имена второго уровня, которые затем успешно прикручивал. Проблема была в том, что такие ресурсы оставались доступны и по старым бесплатным доменам третьего уровня (например, tyujh.oxnull.net). Вот для разрешения такой ситуации я так же прописал в файле .htaccess следующий код:
RewriteEngine On
RewriteCond %{HTTP_HOST} tyujh.oxnull.net
RewriteRule (.*) http://dgdh.ru/$1 [R=301,L]
Теперь, если в браузере набрать http://tyujh.oxnull.net, то произойдет автоматический переброс на сайт http://dgdh.ru.
Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru
Редирект www. на не www - Поддержка
digital.
Привет,
Извините, если я повторяю свой последний пост, но я не могу понять, как перенаправить
Мой www. версия домена без www. версию, чтобы Google мог проверить мою XML-карту сайта
Поисковая консоль Google выдает ошибку 404 http при попытке проверить http www. версия карты сайта, и она не получает 301 редирект с
https://www.digital-search.netlify.app/
tryseo.funВеб-разработка, развлечения и цифровой маркетинг
веселых мероприятий, цифровой маркетинг и веб-разработка
Я попытался обновить _redirects, и это не работает как www. не является допустимым доменом по умолчанию
Я не могу изменить настройки своего домена, так как использую бесплатную версию, и нет редактируемого cname или аналогичного параметра.
Пожалуйста, может кто-нибудь посоветовать, как я могу перенаправить 301 в этом сценарии.
Есть ли способ сделать это? или это невозможно на бесплатной версии без личного домена?
Кажется, что без него Google не проверит мою XML-карту сайта, которую я хочу просканировать, чтобы я мог ее протестировать.
B00bleaЧай 2
цифровой.поиск:https://www.digital-search.netlify.app/
Совершенно уверен, что для этого вам нужен собственный домен,
это даже не план, вы получаете только один поддомен
(то есть <имя сайта>.netlify.app )
на сайт
но даже в этом случае не сканирует ли Google
найти вашу карту сайта?
сельдь 3
@digital.search вы уже создали тему по этому поводу: Www. перенаправить вопрос
Как объяснил @hrishikesh, субдомены netlify.app : <имя-сайта>.netlify.app и www.<имя-сайта>.netlify.app не настроен и, следовательно, не является допустимым доменом.
Я не могу изменить настройки своего домена, так как использую бесплатную версию, и нет редактируемого имени или аналогичных настроек.
Нет такой настройки для домена netlify.app на платных уровнях.
Пожалуйста, может кто-нибудь посоветовать, как я могу перенаправить 301 в этом сценарии.
Как объяснялось (опять же в треде по ссылке выше), это невозможно сделать.
цифровой.поиск:Кажется, что без него Google не проверит мою XML-карту сайта, которую я хочу просканировать, чтобы я мог ее протестировать.
Когда вы добавили свой сайт в Google, вы добавили его с www или без него? Если вы добавили его с ним, вы должны удалить его и добавить снова без него. Если вы добавили его без него, то я предполагаю, что проблема связана с Google, и вам следует попробовать связаться с ними.
В качестве альтернативы, как предложил @B00bleaTea, вы можете использовать собственный домен.
1 Нравится
digital.search 4
@coelmay @B00bleaTea спасибо за ответ.
Похоже, для этого нет решения с бесплатным доменом .app, и это должен быть личный домен, на который я могу перенаправить www.
Я мог зарегистрировать www. свойство в консоли поиска Google и проверьте, но это не сработает, так как я бы хотел использовать перенаправление 301.
Я предполагаю, что с пользовательским доменом я мог бы перенаправить www. и без www. версий или доменов.
Я также где-то читал, что некоторые из бесплатных доменов .app могут ассоциироваться со спамом, что может повлиять на возможность проверки сканирования различных пользовательских агентов. Мне нужно подумать о расходах и т. д. для тестовой площадки.
1 Нравится
5
Когда вы регистрируете собственный домен и настраиваете его
с помощью netlify, он уже показывает вам возможность
автоматически настроить www. поддомен из того, что я помню
, когда я зарегистрировал свой, но если это только тестовый сайт
, есть много сайтов, которые предоставляют бесплатные домены
на пару лет, если вы решите сделать его легальным
, перейдите на https://namecheap .
com/ например, они продают
доменов по дешевке
Как перенаправить с www на без www в WordPress? [и наоборот]
В этом посте вы узнаете, как перенаправить с www на без www или наоборот, используя 3 простых метода (включая серверы Nginx).
В то время как многие люди предпочитали более короткие домены без www, многие другие предпочитают версию с www.
Однако это не просто личное предпочтение всех владельцев сайтов. Некоторые компании предпочитают использовать субдомен www для некоторых технических преимуществ.
Если вы сомневаетесь, какой из них выбрать, и хотите узнать всю историю, обязательно ознакомьтесь с моим постом о доменах с www и без www, их различиях и истории, стоящей за ними.
Но когда дело доходит до SEO, между ними нет никакой разницы. Вы не ошибетесь ни с одним из них.
Однако важно правильно настроить веб-сайт и убедиться, что формат, который вы выбираете, является постоянным для всех ваших URL-адресов.
Содержание
- Видео
- Шаг 1. Проверьте конфигурацию DNS
- Что делать, если записи DNS настроены неправильно?
- Шаг 2. Обновите URL-адреса веб-сайтов
- Шаг 3. Перенаправление с WWW на NON-WWW или наоборот
- Способ №1. Перенаправление с помощью cPanel
- Способ №2. Перенаправление с помощью файла .htaccess
- Как перенаправить на сервер Nginx?
- Как исправить ошибку «Слишком много перенаправлений»?
- Как обновить старые URL-адреса, включенные в ваш контент?
- Происхождение WWW в доменных именах (если интересно!)
- Заключение
Видео
Если на вашем сайте уже включен HTTPS, убедитесь, что HTTPS включен на вашем сайте WordPress, чтобы предотвратить дублирование контента штраф от Google.
Шаг 1. Проверьте конфигурацию DNS
Прежде чем начать, вам необходимо проверить записи DNS и убедиться, что ваш основной домен и его субдомен www указывают на один и тот же IP-адрес сервера.
Звучит сложнее, чем есть на самом деле. Вам просто нужно использовать онлайн-инструмент, такой как DNS Checker, чтобы выполнить быстрый поиск DNS для проверки ваших записей.
В большинстве случаев правильные записи DNS будут автоматически настроены вашим регистратором домена во время покупки домена.
Однако, если какая-либо из требуемых записей была изменена или удалена, эта проверка обнаружит их.
Введите свой домен в поле URL с www и без него и установите тип записи A:
В разделе результатов внизу каждый домен должен указывать на один и тот же IP-адрес:
Что делать, если Записи DNS настроены неправильно?
Если несоответствие IP-адреса или какая-либо из записей отсутствует, вам необходимо добавить это из диспетчера зон DNS.
Мы можем использовать 2 возможные конфигурации. Вы можете использовать любой из них:
Конфигурация #1:
- Запись Запись , которая указывает основной домен на ваш IP-адрес
- Запись Запись , которая указывает поддомен www на ваш IP-адрес
Конфигурация #2:
- Запись , которая указывает основной домен на ваш IP-адрес
- Запись CNAME , которая связывает ваш субдомен www с основным доменом
Я лично использую OVHCloud для покупки и управления своими доменами, поэтому, если вы используете другого провайдера, такого как Godaddy или Namecheap, пользовательский интерфейс на приведенных ниже снимках экрана будет немного отличаться (если у вас есть трудности, пожалуйста, Google, как добавить их записи для вашего менеджера домена):
Конфигурация записи A в OVHCloud
Конфигурация записи CNAME в OVHCloud
Теперь, когда вы правильно настроили записи DNS, давайте перейти к следующему шагу …
Шаг 2.
Обновите URL-адреса веб-сайтовТеперь пришло время обновить URL-адреса вашего сайта в настройках перед добавлением перенаправления.
Вы можете сделать это позже, но вам нужно будет обновить URL-адреса из базы данных. Потому что после перенаправления ваш сайт застрянет в цикле перенаправления, если вы еще не изменили URL-адреса.
Итак, давайте сделаем именно это…
На панели инструментов WordPress перейдите в Настройки > Общие и добавьте или удалите www из этих URL-адресов в зависимости от ваших предпочтений:
После сохранения вы выйдете из своего веб-сайта, так как это изменение сделает недействительным ваш файл cookie для входа.
Кроме того, ваш сайт может зависнуть в бесконечном цикле переадресации, пока вы не выполните следующий шаг.
Шаг 3. Перенаправление с WWW на NON-WWW или наоборот
Способ №1. Перенаправление с помощью cPanel
Первый способ самый простой, но он требует наличия установленной cPanel на вашем сервере.
Сначала войдите в свою учетную запись cPanel.
На панели управления cPanel перейдите в раздел Домены >> Перенаправления .
Теперь, в зависимости от того, хотите ли вы перенаправить с www на без www или без www на с www, конфигурация будет немного отличаться: ) , чтобы перенаправление имело код состояния 301.
Перенаправление без www на www
- Выберите Постоянный (301) , чтобы перенаправление имело код состояния 301.
- Выберите свой домен из выпадающего меню.

- Оставьте текстовое поле после косой черты (/) пустым.
- Введите URL-адрес вашего веб-сайта с префиксом www в текстовом поле Redirects to (без косой черты).
- Убедитесь, что вы выбрали Не перенаправлять www. вариант .
- Не устанавливайте флажок Перенаправление подстановочных знаков .
Способ №2. Перенаправление с помощью файла .htaccess
Второй способ — это редактирование файла .htaccess .
Во-первых, вам нужно открыть файл .htaccess с помощью редактора кода.
Файл будет расположен в корневой папке вашего веб-сайта ( public_html для большинства пользователей), а его имя будет начинаться с точки.
Если у вас есть cPanel, легко открыть .htaccess с помощью встроенного редактора кода (щелкните файл правой кнопкой мыши и выберите Изменить , затем Изменить еще раз.
Перенаправить www на не -www
Если вы хотите перенаправить 301 с www на без www, добавьте следующий код в файл .
htaccess : 9(.*)$ http://www.example.com/$1 [L,R=301]
Замените example.com своим доменом. Не удаляйте косую черту между доменным именем и .com в первом примере.
Как перенаправить на сервер Nginx?
Если у вас есть сервер Nginx вместо Apache, редактирование файла .htaccess не будет иметь никакого эффекта.
Вам нужно будет отредактировать файлы конфигурации Nginx (.conf), чтобы добавить перенаправление.
Вот простое руководство от DigitalOcean по управлению серверными блоками Nginx.
Расположение файлов конфигурации Nginx по умолчанию — /etc/nginx/conf.d/
Предположим, что ваш серверный блок (аналогичный виртуальным хостам в Apache) находится внутри файла example.conf .
Вам нужно открыть этот файл с помощью редактора кода и добавить код до начала вашего блока сервера.
Перенаправить с www на без www
Чтобы перенаправить с www на без www, ваш файл конфигурации должен выглядеть так (не забудьте заменить example.
com с вашим доменом):
# Перенаправить с www на без www
# Это код, который вам нужно добавить
сервер {
имя_сервера www.example.com;
вернуть 301 $scheme://example.com$request_uri;
}
# Блок вашего сервера (уже существует)
сервер {
имя_сервера пример.com;
....
} Перенаправить без www на www
Чтобы перенаправить без www на www, ваш файл конфигурации должен выглядеть следующим образом (не забудьте заменить example.com своим доменом):
# Перенаправить с www на без www
# Это код, который вам нужно добавить
сервер {
имя_сервера пример.com;
вернуть 301 $scheme://www.example.com$request_uri;
}
# Блок вашего сервера (уже существует)
сервер {
имя_сервера www.example.com;
....
} Как исправить ошибку «Слишком много перенаправлений»?
Если после этого вы получаете ошибку «слишком много перенаправлений» ( ERR_TOO_MANY_REDIRECTS в Chrome), то, скорее всего, вы не выполнили предыдущий шаг, чтобы обновить URL-адреса своего сайта из настроек.
Теперь, когда у вас больше нет доступа к панели инструментов WordPress, я боюсь, что единственный способ исправить это — немного запачкать руку базой данных.
Но не волнуйтесь, я покажу вам, что делать.
Если вы используете cPanel, откройте phpMyAdmin, а затем откройте свою базу данных. Кроме того, вы можете использовать любой другой инструмент управления базами данных, к которому у вас есть доступ.
Выберите из списка таблиц таблицу wp_options (префикс wp_ может отличаться) и вы должны найти поля home и siteurl в самом начале таблицы.
Подсказка: дважды щелкните option_value, чтобы изменить URL-адрес. Нажмите где-нибудь снаружи или нажмите Enter, чтобы сохранить изменения.
Вот и все, теперь, если вы вернетесь на свой веб-сайт и обновитесь, все должно работать нормально.
Как обновить старые URL-адреса, включенные в ваш контент?
Если у вас есть некоторые URL-адреса, которые были добавлены к вашему контенту вручную, их также необходимо изменить.
Даже если вы этого не сделаете, ваш сайт сможет автоматически перенаправить их на новые.
Однако лучше обновлять их во всех случаях хотя бы для повышения производительности.
Самый простой способ выполнить эту задачу — использовать плагин, такой как Better Search Replace, который может заменить ваш старый домен новым во всех таблицах базы данных за один запуск.
Просто загрузите подключаемый модуль из каталога подключаемых модулей и активируйте его.
Этот плагин может вносить постоянные изменения в базу данных. Крайне важно сделать резервную копию вашей базы данных, прежде чем переходить к следующему шагу, на всякий случай.
После активации плагина выберите Инструменты > Улучшенный поиск Заменить .
Теперь добавьте URL-адрес старого веб-сайта к опции Искать , а новый URL-адрес к опции Заменить на . Обязательно включите часть http/https и удалите косую черту в конце.
После этого вам нужно выбрать таблицы, которые вы хотите изучить.
В этом случае я рекомендую выбрать все таблицы.
Нажмите Ctrl+A в Windows или Cmd+A в Mac, чтобы выбрать все таблицы.
При первом запуске следует оставить параметр Запустить пробный запуск включенным.
Оставьте для остальных параметров значения по умолчанию.
Теперь нажмите кнопку Запустить поиск/замену .
Плагин теперь будет искать в вашей базе данных все вхождения вашей поисковой фразы и предоставит вам подробную таблицу, если вы проверили опцию пробного запуска, ничего не меняя.
После просмотра таблицы пробного прогона не стесняйтесь снова нажимать кнопку «Выполнить поиск/замену» , но на этот раз без включенной опции пробного прогона .
Это обновит любой экземпляр ваших старых URL-адресов на всем веб-сайте.
Происхождение WWW в доменных именах (если интересно!)
Всемирная паутина (WWW или W3 для краткости), какой мы ее знаем сегодня, была изобретена ученым-компьютерщиком Тимом Бернерсом-Ли еще в 1989 году и обнародована.



