вход на сайт

Имя пользователя :
Пароль :

Восстановление пароля Регистрация

Углубленный взгляд на постоянные ссылки WordPress и перезапись URL

  1. Обзор запросов WordPress
  2. Гадкие постоянные ссылки и запросы в WordPress
  3. Красивые постоянные ссылки и структурные теги WordPress
  4. Давайте сделаем их милыми
  5. Резюме

В сегодняшнем посте мы подробно рассмотрим постоянные ссылки WordPress и переписывание URL. Согласно 1999 пост Якоба Нильсена Для работоспособного сайта требуется:

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

URL-адрес никогда не должен изменяться, так как он может храниться и передаваться разными способами. Вот почему мы называем их постоянными. Кроме того, URL-адрес должен быть семантическим, в том смысле, что он является непосредственным и интуитивно понятным для неопытных пользователей (подробнее о Семантические URL в википедии).

В статической сети URL-адрес идентифицирует ресурс по его имени, как показано в следующем примере:

http://example.com/path/to/resource/wordpress-permalinks.html

Чтобы иметь хорошо структурированные URL-адреса, нам просто нужна хорошо структурированная файловая система и правильно названные ресурсы.
Но сеть динамична, и мы привыкли управлять веб-сайтами, используя управляемые базой данных CMS, и URL-адреса будут содержать числовые параметры, значения которых определяют запрос, который будет выполняться к базе данных. Рассмотрим следующий пример:

http://example.com/?key1=val1&key2=val2

В этом URL вы заметите разделитель (знак вопроса) и набор пар ключ / значение (разделенных амперсандом), которые составляют строку запроса. URL не соответствует требованиям удобства использования и доступности, как указано выше, и должен быть преобразован в более значимую и удобную для SEO постоянную ссылку.
То, как эти «некрасивые» URL-адреса преобразуются в оптимизированные постоянные ссылки, зависит от вашего веб-сервера. Если вы апаш Пользователь, вам нужно будет добавить набор директив перезаписи в файл .htaccess корневой папки. Если вы пользователь Nginx , вы бы добавили директиву try_files в основной файл конфигурации (подробнее об этом читайте на Блог Nginx ).

Но не волнуйся! В большинстве случаев вам не понадобится построчно настраивать веб-сервер, потому что наиболее популярные CMS позволяют пользователям легко и безопасно управлять структурой постоянных ссылок из серверной части. И WordPress не является исключением. Пользователи с правами администратора смогут быстро и легко устанавливать свои собственные правила перезаписи из панели администратора. Опытные пользователи и разработчики могут получить еще больше благодаря WordPress Rewrite API , который предоставляет функции и ловушки, которые выводят постоянную ссылку на более высокий уровень.

Опытные пользователи и разработчики могут получить еще больше благодаря   WordPress Rewrite API   , который предоставляет функции и ловушки, которые выводят постоянную ссылку на более высокий уровень

Пользователь-администратор может легко проверить свою любимую структуру из настроек

URL-адреса определяют запрос к базе данных. По этой причине нашим первым шагом будет краткое введение в запросы WordPress.

Обзор запросов WordPress

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

Из коробки WordPress принимает запросы для отдельных сообщений, страниц, типов сообщений, а также для ряда архивов, упорядоченных по категориям, тегам, дате, автору и другим. Более того, если функциональности по умолчанию будет недостаточно, разработчики могут создавать собственные запросы, создавая новые экземпляры класса WP_Query (объект запроса) или передавая конкретные параметры существующему экземпляру запроса перед его выполнением.

Параметры запроса называются переменными запроса и делятся на три группы.

Публичные переменные запросов : эти переменные являются публичными в том смысле, что они доступны для использования в публичных запросах (т. Е. URL).
Благодаря этим переменным мы можем запросить посты авторов:

? author = 12? author_name = mickey

По категории или тегу:

? cat = 4,5,6? category_name = CMS? tag = wordpress

По дате и времени:

? monthnum = 201601? year = 2015? w = 13? day = 31

По почте или странице:

? p = 123? name = hello-world? page_id = 234

И многое другое.

Частные переменные запроса : эти переменные не предназначены для добавления в строки запроса URL. Они могут использоваться для воздействия на запросы только внутри скрипта (плагина или файла functions.php темы).

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

? Meta_key = город & meta_value = лондон

meta_key и meta_value являются частными переменными запроса, которые не должны быть определены в строках запроса. Они должны быть переданы экземпляру объекта запроса, как я покажу вам позже.

Увидеть полный список открытых и закрытых переменных запроса в Кодексе.

Пользовательские переменные запроса : эти пользовательские переменные могут быть переданы через строки URL-запроса, так же как и переменные общего запроса. Основное различие между общедоступными и настраиваемыми переменными заключается в том, что WordPress не будет обрабатывать собственные переменные самостоятельно, и мы должны получить их значения из плагина для настройки запросов.

При этом давайте вернемся к постоянным ссылкам.

Гадкие постоянные ссылки и запросы в WordPress

Уродливые Постоянные ссылки показывают строку запроса , то есть часть URL, содержащую набор переменных запроса (строку запроса), которые будут определять возвращаемый ресурс.

Уродливые Постоянные ссылки показывают строку запроса , то есть часть URL, содержащую набор переменных запроса (строку запроса), которые будут определять возвращаемый ресурс

WordPress по умолчанию имеет структуру Ugly Permalinks

В качестве примера рассмотрим следующие URL:

http://example.com/?cat=5 http://example.com/?cat=5,7,9

В ответ на эти URL WordPress возвращает архив сообщений, принадлежащих указанным категориям.
Мы не ограничены одним параметром для каждого URL. В следующих примерах мы создаем более сложные запросы:

? author_name = lucy & category_name = WebDev? tag = wordpress & m = 201606

В первой строке запроса author_name и category_name потребуются все сообщения указанного автора в категории WebDev. Во второй строке запроса tag и m потребуются все сообщения, помеченные как wordpress и опубликованные в июне 2016 года.
Как видите, мы можем установить более одной переменной запроса и заставить WordPress запускать расширенные запросы, просто добавляя соответствующие пары ключ = значение в строки запроса.

Красивые постоянные ссылки и структурные теги WordPress

Включая Pretty Permalinks, мы устанавливаем удобную, доступную и оптимизированную для SEO структуру URL . Давайте сравним следующие URL:

http://example.com/?p=123 http://example.com/wordpress-permalinks/

В этом примере уродливая постоянная ссылка показывает переменную p и ее значение (идентификатор записи), в то время как симпатичный URL показывает слаг после публикации.

WordPress предоставляет четыре формата Pretty Permalink, которые мы можем выбрать на экране настроек Permalink, как показано на рисунке ниже.

постоянные ссылки WordPress по умолчанию

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

Опция настраиваемой структуры позволяет установить настраиваемый формат постоянной ссылки

Эти теги являются конкретными ключевыми словами, заключенными в символ%. WordPress предоставляет следующие теги:

  • %год%
    Год публикации (четыре цифры)
  • % monthnum%
    Месяц публикации (две цифры)
  • %день%
    День публикации (две цифры)
  • %час%
    Час публикации (две цифры)
  • % мин%
    Минута публикации (две цифры)
  • % второй%
    Вторая публикация (две цифры)
  • % post_id%
    Уникальный идентификатор сообщения (целое число)
  • % postname%
    Слизня поста (то есть очищенная строка, представляющая заголовок поста)
  • % Категория%
    Категория слизняк
  • % автор%
    Автор слизняк

Давайте проверим переключатель «Пользовательская структура» и добавим одну из следующих строк в текстовое поле:

/% author% /% postname% / /% year% /% postname% / /% category% /% postname% /

Любая из этих строк генерирует отличную постоянную ссылку с определенными семантическими значениями, как показано ниже:

http://example.com/mickey/wordpress-permalinks/ http://example.com/2016/wordpress-permalinks/ http://example.com/CMS/wordpress-permalinks/

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

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

Теперь я покажу вам, как создать собственный мета-запрос (т. Е. Запрос, который извлекает сообщения по настраиваемому полю), используя преимущества пользовательских запросов.
Для достижения этой цели мы разработаем плагин для регистрации пользовательских переменных, получения их значений и изменения запроса соответствующим образом.

В основной файл плагина добавьте следующий код:

/ ** * Регистрация пользовательских запросов vars * * @param array $ vars Массив доступных переменных запроса * / function myplugin_register_query_vars ($ vars) {$ vars [] = 'city'; вернуть $ vars; } add_filter ('query_vars', 'myplugin_register_query_vars'); / ** * Создание пользовательского запроса * * @param $ query obj Экземпляр WP_Query (передается по ссылке) * * / function myplugin_pre_get_posts ($ query) {// проверка, запрашивает ли пользователь страницу администратора // или текущий запрос не основной запрос if (is_admin () ||! $ query-> is_main_query ()) {return; } $ city = get_query_var ('city'); // добавляем элементы meta_query if (! empty ($ city)) {$ query-> set ('meta_key', 'city'); $ query-> set ('meta_value', $ city); $ query-> set ('meta_compare', 'LIKE'); }} add_action ('pre_get_posts', 'myplugin_pre_get_posts', 1);

Давайте рассмотрим этот код. Сначала мы зарегистрировали запрос var с именем city:

function myplugin_register_query_vars ($ vars) {$ vars [] = 'city'; вернуть $ vars; } add_filter ('query_vars', 'myplugin_register_query_vars');

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

function myplugin_pre_get_posts ($ query) {// проверяет, запрашивает ли пользователь страницу администратора // или текущий запрос не является основным запросом if (is_admin () ||! $ query-> is_main_query ()) {return; } $ city = get_query_var ('city'); // добавляем элементы meta_query if (! empty ($ city)) {$ query-> set ('meta_key', 'city'); $ query-> set ('meta_value', $ city); $ query-> set ('meta_compare', 'LIKE'); }} add_action ('pre_get_posts', 'myplugin_pre_get_posts', 1);

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

  1. Функция обратного вызова хранит экземпляр объекта $ query, который передается по ссылке, а не по значению. Это означает, что любые изменения в объекте запроса влияют на исходный запрос, а не на его копию. По этой причине мы должны быть уверены, какой запрос будет выполнен (основной запрос).
  2. Позже мы получаем значение города из текущей строки запроса благодаря функция get_query_var ,
  3. Наконец, если $ city не пуст, мы можем установить элементы мета-запроса meta_key, meta_value и meta_compare. Последние являются частными переменными запросов, недоступными для публичных запросов. Их значения могут быть установлены только из скрипта.

Теперь активируйте плагин, добавьте пользовательское поле города к количеству сообщений и проверьте URL-адреса, как показано ниже:

http://example.com/?city=London

В ответ на этот запрос WordPress вернет все сообщения, в которых значение поля города равно Лондону.

Давайте сделаем их милыми

Наша последняя задача - преобразовать некрасивый URL приведенного выше примера в довольно постоянную структуру. Давайте добавим следующую функцию в наш плагин:

/ ** * Добавить теги и правила для перезаписи * / function myplugin_rewrite_tag_rule () {add_rewrite_tag ('% city%', '([^ &] +)'); add_rewrite_rule ('^ city / ([^ /] *) /?', 'index.php? city = $ match [1]', 'top'); } add_action ('init', 'myplugin_rewrite_tag_rule', 10, 0);

add_rewrite_tag а также add_rewrite_rule функции являются частью API Rewrite. add_rewrite_tag делает WordPress осведомленным о запросе города var, тогда как add_rewrite_rule определяет новое правило перезаписи. Обе функции должны быть подключены к действию init. Благодаря новому тегу и правилу мы можем отправить следующий URL:

http://example.com/city/London/

WordPress вернет архив сообщений, где значение пользовательского поля города - Лондон.

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

Резюме

WordPress предоставляет полноценную систему для управления постоянными ссылками. Большинство функций доступны из коробки, и доступны из панели администратора. Но если бы нам потребовался более глубокий контроль над постоянными ссылками, целый набор хуков и функций позволяет нам добавлять переменные в строки запроса и переписывать URL-адреса в доступные и дружественные для SEO постоянные ссылки WordPress.

Полный код этого поста доступен на Gist.

Похожие

Drupal против Wordpress: Какая CMS подходит для вас?
... Wordpress зарекомендовали себя как лидеры в системах управления онлайн-контентом. Хотите хорошо продуманный, функциональный веб-сайт, не перегруженный слишком большим количеством кода и технических деталей? Любая из этих CMS 'идеальна. Впрочем, пока их выпускают в похожие времена ( Wordpress в 2003 году и Drupal в 2001 г.) оба они выполняют совершенно разные функции. Выбор между ними будет зависеть от характера
URL Shortener-SEO Cage Match
Обоснование варианта венгерской нотации для иерархий URL Один из лучшие обсуждения в эфире в эти дни вращается вокруг сокращения URL. Одна из причин, по которой люди обращаются к сервисам сокращения URL-адресов, таким как bit.ly и TinyURL, заключается в том, что веб-сайты и приложения используют чрезвычайно длинные URL-адреса. Во многих случаях это связано с открытыми иерархиями файловой системы
Топ 14 сокращающих URL для сокращения длинных URL страниц
... ибудь пытались разместить URL на сайте социальной сети или где-то еще и были разочарованы тем, как долго эта ссылка была? Это где укорочение URL будет полезно. В Интернете существуют различные инструменты для сокращения URL, чтобы сделать это автоматически, но не всегда легко определить, какой из них лучше. Вот список из 14 лучших укороченных ссылок в Интернете, которые могут быть вам полезны. При использовании любого онлайн-инструмента важно, чтобы вы нашли тот, который подходит именно вам.
Бесплатные доступные темы WordPress
В эпоху цифровых технологий смартфоны и планшеты являются само собой разумеющимся для многих людей. Если информация необходима, поисковая система Google будет использоваться быстро - в дороге или дома перед домашним настольным ПК. Однако, как правило, есть лишь несколько человек, которые думают, что есть группы людей, которые не имеют легкого доступа к Интернету из-за физических недостатков, к сожалению. В то же время, безбарьерный
Хитрая одинокая леди (обзор серии)
Персонажи: Ли Мин Чжун в роли На Аэра Джу Санг Вук в роли Ча Юнг Ву
Топ 10 SEO оптимизированных тем WordPress
... WordPress - одна из самых важных частей, когда вы планируете создать блог / сайт. Вы знаете в наши дни, насколько это важно для SEO блога / сайта. Не все темы WordPress оптимизированы для SEO, поскольку некоторые темы разрабатываются непрофессиональными разработчиками, которые не знают и не заботятся о SEO. В Интернете доступны тысячи бесплатных тем WordPress, но выбор правильного - непростая задача. У хорошо продуманной темы будет чистый код, который любят поисковые системы.
Курсы веб-страниц WordPress в Барселоне
Вы думаете об обучении созданию сайта в WordPress и не знаете как? WordPress - очень мощный инструмент, который позволяет создавать веб-страницы, не имея технических знаний. Очевидно, что вы всегда можете улучшить и научиться в полной мере, так как WordPress - бесплатное программное обеспечение, и у вас есть доступ ко всему бесплатно, но не пугайтесь! Чтобы сделать статичный веб-сайт для вашего бизнеса, вам просто необходимо знать 4 основных момента.
SEO для WordPress: wpSEO против WordPress SEO от Yoast
... ии поисковой системы к веб-сайту. Многое доставляет WordPress да уже бесплатный дом для хорошего размещения в поисковых системах. Но вокруг есть один или другой камень преткновения. Может поддерживать два очень популярных плагина WordPress: wpSEO и WordPress SEO от Yoast. Но какой из плагинов рекомендуется? Или это даже стоит изменить? wpSEO Начнем с немецкого решения wpSEO, которое любит делать автор
WordPress SEO
... постоянные ссылки Постоянные ссылки - это постоянные URL, которые назначаются вашим страницам и сообщениям. Настройки WordPress по умолчанию для постоянных ссылок не очень удобны для поисковых систем. Следующая структура URL используется по умолчанию: http://www.domeinnaam.nl/?p=123 . Основываясь на этой структуре, Google не знает, о чем эта страница, и посетители также должны догадываться о ее содержании. Короче говоря: не удобно для обеих сторон. К счастью, решение очень
Почему вам нужны правильные постоянные ссылки / SEO-Friendly URL
... ссылки и как их получить. Это важно для вас, чтобы знать, являетесь ли вы владельцем веб-сайта или поручил кому-то создать ваш сайт для вас. Эта статья также будет частью нашей Серия контрольных списков веб-сайтов , В конце серии мы создадим страницу контрольного списка, которую вы можете проверить. Введение в правильные постоянные ссылки / SEO-дружественные URL Если вы новичок в WordPress, Drupal
WordPress SEO Сервисы
... wordpress-seo-servisy-1.jpg" alt="Используйте наши сервисы WordPress SEO, чтобы ваш трафик также набирал обороты"> Используйте наши сервисы WordPress SEO, чтобы ваш трафик также набирал обороты. В справке My WordPress мы оптимизируем ваш веб-сайт, чтобы поисковые системы (например, Google) увидели то, что у вас есть, сочли вас подходящим для того, что ищут люди, и перечислили вас как веб-сайт с надежной информацией. Мы пишем контент, создаем страницы, пишем статьи

Комментарии

Каковы правильные постоянные ссылки / SEO-дружественные URL?
Каковы правильные постоянные ссылки / SEO-дружественные URL? Правда в том, что существует три типа постоянных ссылок. Гадкий, Почти Прекрасный и Прекрасный. «Гадкие» постоянные ссылки Это опция по умолчанию в WordPress. Она принимает форму URL-адреса, за которым следует строка запроса, идентифицирующая соответствующий идентификатор сообщения, например, http://www.example.com/?p=138. Этот формат не читается людьми (т.е. содержит цифры,
Почему бы не включить их в предложения, чтобы сделать их более интересными для потенциальной аудитории?
Почему бы не включить их в предложения, чтобы сделать их более интересными для потенциальной аудитории? с Pop Promo (48,39 €) Prestashop вы сможете сделать это легко, так как в его модуле вы сможете настроить всплывающее окно, которое ваш клиент увидит, как только он прибудет в ваш магазин. А знаете ли вы, что лучше? Это позволит вам получить гораздо более высокий коэффициент
Итак, я знаю, что вы жаждете, чтобы я уже привел в порядок: что вы можете сделать, чтобы ссылки сайта и, что более важно, правильные ссылки сайта появлялись на вашем сайте?
Итак, я знаю, что вы жаждете, чтобы я уже привел в порядок: что вы можете сделать, чтобы ссылки сайта и, что более важно, правильные ссылки сайта появлялись на вашем сайте? Как я могу получить ссылки на сайт? В целом, лучший совет о том, как создать ссылки сайта для вашего сайта, сводится к тому, чтобы иметь высококачественный сайт, который Google может легко сканировать. Само Google упоминает в приведенной выше выдержке, что «структура вашего сайта» должна
Задумывались ли вы, почему доверенные ссылки лучше для SEO чем ненадежные окрестности ссылки для обеспечения стабильного положения поисковой системы?
Итак, я знаю, что вы жаждете, чтобы я уже привел в порядок: что вы можете сделать, чтобы ссылки сайта и, что более важно, правильные ссылки сайта появлялись на вашем сайте? Как я могу получить ссылки на сайт? В целом, лучший совет о том, как создать ссылки сайта для вашего сайта, сводится к тому, чтобы иметь высококачественный сайт, который Google может легко сканировать. Само Google упоминает в приведенной выше выдержке, что «структура вашего сайта» должна
Теперь, когда мы увидели естественные ссылки, к какой категории относятся все остальные ссылки?
Теперь, когда мы увидели естественные ссылки, к какой категории относятся все остальные ссылки? Хороший вопрос не так ли! Они относятся к категории искусственных ссылок и применяют методы, повышающие риск получения ручного или алгоритмического штрафа от Google. "Блоги гостя" все еще актуальны с точки зрения Netlinking? Я уже подробно ответил в своем блоге о "Гостевом блоггинге". Я предлагаю вам прочитать
Знаете ли вы, что они также предлагают инструмент сокращения URL, который вы можете использовать, чтобы сделать ваши ссылки короче?
Знаете ли вы, что они также предлагают инструмент сокращения URL, который вы можете использовать, чтобы сделать ваши ссылки короче? Это позволяет вам делиться ссылками на ваш сайт в социальных сетях или блог, которые были сокращены. Помимо сокращения ссылок, он также может дать информацию о том, откуда появилась сокращенная ссылка. Это может быть спокойствием, если пользователь не уверен, стоит ли ему нажимать на ссылку. Эта служба может предоставить вам исходную ссылку, чтобы
Отправить им предложение, направить их на более короткую целевую страницу или добавить их в список вызовов?
Отправить им предложение, направить их на более короткую целевую страницу или добавить их в список вызовов? Есть так много вариантов, и, как вы теперь понимаете, выбор за вами. Эта статья о ретаргетинг в Engagement Studio фокусируется на этом гораздо более подробно.
Какова была их методология?
Какова была их методология? Имея огромный объем доступных данных (SEMrush используют около полутора миллионов маркетологов), они решили выбрать набор из около 600 тысяч ключевых слов, взятых с основных рынков (США, Великобритания, Германия, Франция, Италия, Испания и т. Д.). ...), позиции страниц в поисковой выдаче и список предполагаемых факторов ранжирования. Используя эти данные, ограничив исследование конкретной ситуацией первой страницей результатов (помимо того, что она не представляет
Они уже имеют дело с более чем триллионом веб-страниц - зачем делать их работу еще сложнее?
Они уже имеют дело с более чем триллионом веб-страниц - зачем делать их работу еще сложнее? Если вы считаете, что у вас могут быть проблемы с дублирующимся контентом, просто позвоните нам по телефону 234-571-1943 для получения помощи.
4. Категории против ярлыков, индексировать их или нет?
4. Категории против ярлыков, индексировать их или нет? Если ответ прост, объяснения нет, но, как вы понимаете концепцию каннибализации, это будет казаться простым. Для самых начинающих в SEO, давайте посмотрим на разницу между категориями и ярлыками. В нашем воображаемом магазине мы определили категории: обувь, рубашки и брюки. Метки - это функции, которые могут совместно использоваться несколькими продуктами, например цвет. «Красный» тег будет
Без надежных данных для создания SEO-кампаний, как они узнают, какие ключевые слова работают на их сайтах, а какие нет?
Без надежных данных для создания SEO-кампаний, как они узнают, какие ключевые слова работают на их сайтах, а какие нет? Один из наиболее неприятных аспектов зашифрованного поиска заключается в том, что он не влияет на данные PPC, а только на обычный поиск. Некоторые предполагают, что обновление для безопасного поиска также должно подталкивать владельцев сайтов к тому, чтобы они тратили больше средств на свои кампании PPC, чтобы получить доступ к данным, которые когда-то были бесплатными.

Com/?
Author = 12?
Cat = 4,5,6?
Category_name = CMS?
Monthnum = 201601?
Year = 2015?
W = 13?
P = 123?
Name = hello-world?
Com/?
Поиск по сайту
Меню
Реклама на сайте
Архив новостей
Реклама на сайте

Реклама на сайте







Популярные публикации
Архив сайта
Информация
www.home-4-homo.ru © 2016 Copyright. Все права защищены.

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