Перейти к содержимому


Простейший модуль ЧПУ


  • Вы не можете ответить в тему
Сообщений в теме: 415

#101 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 07 March 2012 - 02:01 PM

И еще есть двойная кавычка вот такого вида "„"=>"" ее тоже нужно добавить в массив функции транслит

Дело оказалось не в транслите. Точнее, там оно не поможет.
В файле index.php замените строку:

if ($row = mysql_fetch_assoc(mysql_query("SELECT cpu_from from ".DB_PRFX."cpu_table where cpu_to='".$_GET['cpu']."' limit 1")))

на строку:

if ($row = mysql_fetch_assoc(mysql_query("SELECT cpu_from from ".DB_PRFX."cpu_table where cpu_to='".htmlspecialchars($_GET['cpu'],ENT_QUOTES)."' limit 1")))

отличие в htmlspecialchars($_GET['cpu'],ENT_QUOTES) вместо $_GET['cpu'].
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#102 ecco

    Пользователь

  • Download User
  • PipPip
  • 27 сообщений
Репутация: 11
Начинающий

Отправлено 07 March 2012 - 04:33 PM

Да, теперь кавычки не проблема.. Подскажите я наблюдаю что старые страницы редиректятся на новые. Это происходит 301 редирект или обычный ... и имеет ли это какое то значение? То есть хочется понимать не выпадут ли старые урлы из индекса ПС ?
  • 0

#103 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 07 March 2012 - 05:46 PM

Подскажите я наблюдаю что старые страницы редиректятся на новые. Это происходит 301 редирект или обычный ... и имеет ли это какое то значение? То есть хочется понимать не выпадут ли старые урлы из индекса ПС ?

Уж это могли бы и сами в index.php посмотреть, исходник-то пять килобайт размером.
	header("HTTP/1.1 301 Moved Permanently");
header("Location: ".$row['cpu_to']);

Это имеет значение для Яндекса и Гугля, которые зайдя по старой ссылке (если ссылки уже были проиндексированы) таким образом понимают, что вместо старой ссылки теперь будет новая, которая указана в location, а по старой ходить больше не надо :). Ну и если кто еще по старой ссылке зашел, то его тоже перекинет на новую.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#104 ecco

    Пользователь

  • Download User
  • PipPip
  • 27 сообщений
Репутация: 11
Начинающий

Отправлено 07 March 2012 - 09:41 PM

Да верно, и снова я с запросом - сорри за частые дёргания....

Перечитал полностью в этот раз топик и наткнулся на сообщение с кракозябрами в файле sitemap.xml и соотвественно в таблице xxx_cpu_table. Решением проблемы было изменение кодировки файла sitemap.php на utf-8, но в моем случае данное решение не срабатывает и в таблице и в файле sitemap.xml там где есть кирилица в заголовках страниц, появляются вопросы (???????) Вот пример сконфигурированного файла [HIDE="ссылко"]http://petshop.kh.ua/sitemap.xml[/HIDE] Специально оставил доступным файл sitemap.php.

У меня вся база как и таблица xxx_cpu_table создана/создается в cp1251_general_ci, пробовал также поменять кодировку таблицы на utf-8 в файле sitemap.php изменив строку

  ) ENGINE=MYISAM") or die(mysql_error());


на

ENGINE=MYISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;") or die(mysql_error());


но все равно и в базе и в sitemap.xml создаются вопросики там где кириллица должна быть.

Скинул на всякий случай доступы в личку )
  • 0

#105 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 08 March 2012 - 10:52 PM

буду ждать )

Готово.

1. У вас в core/includes/database/mysql.php была (и осталась :)) модифицирована функция db_connect - там раскомментированы настройки в отличие от дефолта. Прописал в Ваш sitemap.php функцию db_connect вместо mysql_connect, чтобы настройки совпадали. "Вопросики" в sitemap.xml пропали, но вместо них появили русские буквы, а должна быть английская транслитерация.

2. не знаю, в чем причина, но лежащие на Вашем сайте файлы index.php и sitemap.php имеют кодировку UTF-8 (по два байта на русскую букву). Вы их как заливали? Исходные файлы у меня на сайте (в архиве) имеют кодировку Win1251. Естественно, функция translit в sitemap.php не работает. Исправил. Правда, не понимаю, почему работает index.php. Там тоже эта функция в UTF-8, но раз ЧПУ присутствуют, значит она работает. В общем, в index.php менять не стал, хотя я явно чего-то не понимаю :).

PS. Понимаю. В Вашем index.php функция таки в win1251, как и должна быть. Так что никаких чудес. Это я ее в DOS866-кодировке смотрел и с UTF-8 перепутал :).

---------- Сообщение объединено ----------

Это ж трындец какой-то :). Вы со всего интернета собирали названия товаров со всякой хренью в тексте названия?
Типа виндовых кавычек шести видов, нестандартных минусов и подчеркиваний?
Не сайт, а просто кладезь для пополнения функции translit :).

---------- Сообщение объединено ----------

А нафига я, собственно, статически генерю файлик sitemap.xml, что требует перегенерации при заведении каждого нового товара и/или категории, если его можно генерить на лету, по запросу?

Вопрос. Наверняка смешной и дурацкий, т.е. простой.
Я делаю файл 123.456 с содержимым
---



---
И он совершенно нормально отдается по запросу www.пример.org/123.456

Но если я пытаюсь из php-файла www.пример.org/123.php выдать ровно те же строки путем echo '...', то нифига не получаю, браузер пытается обрабатывать текст как html с понятной реакцией на угловые скобки и прочие спецсимволы. Как браузеру сказать (т.е. как говорит об этом сайт, отдавая файл 123.456), то это не html, а txt? В "просмотре HTML-кода" никаких хидеров, вообще ничего кроме указанного текста.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#106 eugene_wb

    Продвинутый пользователь

  • Модераторы
  • 827 сообщений
Репутация: 167
Мастер

Отправлено 08 March 2012 - 10:56 PM

Как браузеру сказать (т.е. как говорит об этом сайт, отдавая файл 123.456), то это не html, а txt?


header ("content-type: text/xml"); 


в начале php перед выводом через echo
  • 0
Изображение Изображение Изображение

#107 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 09 March 2012 - 12:40 AM

Пришла мне тут в голову интересная идея. А нафига я, собственно, статически генерю файлик sitemap.xml, что требует перегенерации при заведении каждого нового товара и/или категории, если его можно генерить на лету, по запросу?

Собственно, так и сделал, теперь sitemap.xml в виде файла нет, он генерится "на лету" в момент запроса. Можно скачивать новую версию. В old_version я эти изменения не вносил, старые версии являются "законченным продуктом" и примером, как можно изменить исходник под свое понимание ЧПУ, не более того.

PS. Также благодаря ecco заметно пополнилась таблица в функции translit. Кто ее использует в своих проектах - рекомендую. Совершенно неожиданные, но вполне применяемые в названиях товаров символы обнаружились, которые неприемлемы в URL и XML.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#108 gsm-group

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 101 сообщений
Репутация: 6
Начинающий

Отправлено 09 March 2012 - 02:01 AM

Есть в ЧПУ косячек ))). Если зайти в любую категорию или товар, и на конце ссылки поставить " / " , то переход на главную происходит.
  • 0

#109 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 09 March 2012 - 03:16 AM

Есть в ЧПУ косячек ))). Если зайти в любую категорию или товар, и на конце ссылки поставить " / " , то переход на главную происходит.

А должно куда? Только не голословно, а с указанием основополагающих документов.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#110 pit4l

    Пользователь

  • Пользователи
  • PipPip
  • 10 сообщений
Репутация: 2
Начинающий

Отправлено 09 March 2012 - 02:42 PM

Никак не могу приделать этот модуль, чтобы работал, если в .htaccess используется директива вида RewriteBase /zzz/ - у меня на локалхосте несколько сайтов в своих папках. sitemap.php поправил, в поле cpu_to все заносится правильно. В index.php подправил в районе 118 строки, чтобы файлы шаблона грузились по правильному пути. А вот ссылки на сайте - никак, все ссылки показываются относительно корня апача.
  • 0

#111 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 09 March 2012 - 03:18 PM

Никак не могу приделать этот модуль, чтобы работал, если в .htaccess используется директива вида RewriteBase /zzz/ - у меня на локалхосте несколько сайтов в своих папках

Я в апаче очень слабо разбираюсь. У меня дуальный конфиг (скриптом переключается, кто сейчас работает - nginx+fpm или apache) , но для своих сайтов использую не RewriteBase, а VirtualHosts. Так что в этом моменте врядли смогу помочь.

PS. Но что-то мне подсказывает, что эта директива как раз для того, чтобы НЕ НУЖНО было поправлять никакие ссылки.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#112 pit4l

    Пользователь

  • Пользователи
  • PipPip
  • 10 сообщений
Репутация: 2
Начинающий

Отправлено 09 March 2012 - 03:31 PM

Ого, быстрый ответ. Нет там дело вроде не в апаче. Например в .htaccess запись RewriteBase /zzz/ . Прогоняем sitemap.php, в нем правильные ссылки вида localhost/zzz/glavnay-categoriya , но в теле страницы ссылки выглядят как localhost/glavnay-categoriya . И естественно, что будет ошибка 404. Если подставить значение из RewriteBase в строку адреса браузера - localhost/zzz/glavnay-categoriya - то страница нормально откроется. Я так понял, что дело в preg_replace или похожей функции, когда в коде страницы на выходе происходит подмена текста. Т.е. должно быть что-то типа:
$to="zzz"."/".translit($row['name']); Но так не работает...
  • 0

#113 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 09 March 2012 - 04:15 PM

Прогоняем sitemap.php, в нем правильные ссылки вида localhost/zzz/glavnay-categoriya , но в теле страницы ссылки выглядят как localhost/glavnay-categoriya

Это весьма странно, т.к. алгоритм получения ссылки в index.php и sitemap.php абсолютно одинаков. Может, вы что-то отредактировали в sitemap.php, но не отредактировали ЭТО ЖЕ МЕСТО в index.php?

---------- Сообщение объединено ----------

Насвкидку: (вкратце почитав о RewriteBase)
У RewriteBase наверняка есть соответствуюшая глобальная переменная, доступная из PHP-модулей. Какой-нибудь $_REWRITERULE или нечто подобное, это уж сами ищите. Добавьте соответствующим образом эту переменную в строки "$to=..." в файлах index.php и sitemap.php и, как мне навскидку кажется, будет все нормально, в cpu_to будут добавляться строки, содержащие Ваш довесок. Можно, конечно, cделать то же самое и с текстовой строкой "zzz/" напрямую, но тогда это придется делать в каждом из index.php/sitemap.php заново.

Почеркиваю - это не задумываясь особенно и не тестируя, просто мне кажется, что именно так надо (и правильно) сделать для работоспособности модуля в случае RewriteBase.

---------- Сообщение объединено ----------

ИМХО, ставить модуль ЧПУ, улучшающий показатели SEO в паре с RewriteBase, ухудшающим эти показатели за счет лишнего /zzz/ в ссылке довольно странный подход. Сродни замены передних колес с ОмскШины на Пирелли при стоящих сзади колесах от телеги. Но это лично мое мнение, я плохо в этом разбираюсь.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#114 gsm-group

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 101 сообщений
Репутация: 6
Начинающий

Отправлено 09 March 2012 - 05:12 PM

А должно куда? Только не голословно, а с указанием основополагающих документов.


А должно быть три варианта на выбор:
1. Ошибка 404
2. Ре-директ на туже ссылку без " / "
3. Таже ссылка, только с " / " ( но этот вариант не любят поисковые системы )

P.S
А конечно идеальный вариант:
Четко выраженная структура каталога domain.ru/категория/подкатегория и domain.ru/товар

( При такой структуре Яндекс и Google, индексируют сайт по логике вложенности и формируют быстрые ссылки сами, а Яндекс в поиске выводит вложенные ссылки по названию страницы отдаваемой title этой страницы)
Выдержка из Яндекс.Помощи:

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

основные разделы и страницы были доступны с главной страницы сайта;
навигация по сайту была продумана и логична;

Ссылка формируемая модулем, на конце без " / " , но если поставить " / " на конце то происходит 301 редирект на ссылку без слеша.

Пример: Я попал на сайт по адресу domain.ru/категория/подкатегория и мне захотелось посмотреть что-же содержиться на предыдущей странице, и я в адресной строке удаляю /подкатегория и попадаю куда? на domain.ru или на domain.ru/категория ?
  • 0

#115 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 09 March 2012 - 06:31 PM

вопрос к остальным читателям, авторитетным и не очень

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

Пока мне видится только одна причина, по которой имеет смысл обрабатывать слэш в конце строки - структура ссылки такова, как написано у Лебедева, АКА "хлебные крошки", где пользователь может удалить нижний уровень ссылки вместе со слэшом, а может без него. Но в этом ЧПУ вообще нет слэшей и не предполагается "вложенности ссылок" или как там оно у Лебедева зовется, когда каждый следующий уровень (в нашем случае подкатегория) отделяется слэшем (обсуждали уже).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#116 micehide

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 359 сообщений
Репутация: 124
Мастер

Отправлено 09 March 2012 - 11:38 PM

Надо ли делать редирект (или просто изъятие слеша в конце строки), почему и зачем?

Собственно, все очень просто: ссылки типа ваш_сайт.ру/мягкие_игрушки и ваш_сайт.ру/мягкие_игрушки/ - это разные URL, и, соответственно, разные страницы в индексе поисковиков. На одном сайте могут быть обе эти страницы и при этом совершенно разные, и обе они отлично обработаются поисковиками как динамические и войдут в поиск. Но! В нашем случае это не нужно и, действительно, нехорошо если URL, введенный с "ошибкой" (на конце слеш в данном случае) перебрасывает на главную страницу - это не логично, т.к. нужно учитывать возможность такой ошибки (при копипасте хотя-бы)...

У меня нет даных о том, на сколько действительно правда, что "поисковики любят больше ссылки без слеша на конце" как заявляет gsm-group, однако знаю, что некоторые прописывают автодобавление "/" в конце URL прямо в .htaccess через 301 редирект...
  • 0

#117 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 10 March 2012 - 10:19 AM

У меня нет даных о том, на сколько действительно правда, что "поисковики любят больше ссылки без слеша на конце" как заявляет gsm-group, однако знаю, что некоторые прописывают автодобавление "/" в конце URL прямо в .htaccess через 301 редирект..


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

А вот почему именно без слеша хотелось бы узнать какие существуют мнения.
  • 0

#118 gsm-group

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 101 сообщений
Репутация: 6
Начинающий

Отправлено 10 March 2012 - 12:42 PM

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

А вот почему именно без слеша хотелось бы узнать какие существуют мнения.


На самом деле без разницы как будет, со слешем или без него у категории.
Главное: Для поисковых систем уровни категорий должны быть четко выраженны т.е категория/подкатегория , и был 301 редирект на слеш или без него. А вот у товара я согласен с Вами, на конце желательно иметь .html

---------- Сообщение объединено ----------

Из моего содержания

А должно быть три варианта на выбор:
1. Ошибка 404
2. Ре-директ на туже ссылку без " / "
3. Таже ссылка, только с " / " ( но этот вариант не любят поисковые системы )


Тут не утверждается, а поясняется из того что есть на данный момент у данной разработки.
  • 0

#119 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 10 March 2012 - 05:49 PM

Давайте отделим мух от котлет. Точнее, разложим их по разным тарелочкам. А то как-то в кучу сложилось два разных тезиса.

Тезис 1: в конце ЧПУ-ссылки
- должен стоять слеш
- не должен стоять слэш
- по барабану, но оба варианта должны отдавать один и тот же контент
- по барабану, но контент никак не связан, т.е. может быть одинаков, а может и нет.
- контент должен быть одинаков, но обязателен 301-й редирект со слэша на его отсутствие.
- контент должен быть одинаков, но обязателен 301-й редирект с отсутствия слеша на ссылку с ним.

"слэш" можно заменить на ".html", суть от этого не изменится.

По этому тезису у меня никаких мнений нет, т.к. тут "мнения" совершенно не нужны, а нужно просто знание, как оно правильно.

Тезис 2: ЧПУ-ссылка
- должна иметь слэши, повторять путь от главной страницы, каждый набор "до слэша" должен быть значимым, т.е. выводить на один из предыдущих уровней (Лебедев, Ководство, 49-й (?) параграф, не дословно).
- должна иметь как можно меньше слэшей (вопиюще противоречит первому тезису)
- должна быть как можно короче (противоречит первому тезису в случае глубокой вложенности)
- должна быть максимально комфортной человеческому восприятию (ну очень невнятный тезис, хотя мне симпатичен)

Как комбинацию всего этого мы видим ЧПУ-ссылки вида "две-категории-товар" или "две/категории/товар", но оптимально ли это?

Я делал и так, и сяк, и этак, но на текущий момент мне наиболее импонирует гуглевая мысль "делайте для людей и обрящете!"
Для меня это означает, что наиболее удобен будет именно лебедевский вариант - каждый уровень категории отделяется слэшами.
Пять уровней - пять строк, разделенных слешами и - опять же отделенная слэшом - строка товара. Но при этом хотелось бы соответствовать и тезису "чем короче, тем лучше", что напрочь сводит на нет автоматическую транслитерацию названий применительно к категориям, она должна быть ручной, в заметно более короткий вариант, чем полное русскоязычное название.

Вот так мне на сегодняшнем уровне знаний видится правильный ЧПУ. Пообсуждаем?

---------- Сообщение объединено ----------

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

И ты туда же... ПО-ЧЕ-МУ?
Для меня как раз вполне логично, когда неверная ссылка приводит не к выдаче файлика 404.html из дебрей апача или нгинкса, а к переходу на что-то более интересное, откуда жмаканье клиентом кнопочки может таки принести денежку :). Вижу два варианта, оба легко реализуемы в рамках ShopCMS - либо переход на главную страницу сайта, либо переход на статическую страницу "Чота Ваша ссылка не того.... неверная" в окружении тех же фишек, т.е. каталога, блока случайных и/или рекомендуемых товаров и прочей мишуры. На текущий момент у меня это главная страница, но я ж писал, что error404 это ближайшее, что я собираюсь доделать в этом модуле. А может и единственное, что буду доделывать (кроме конечного варианта вида ЧПУ), модуль то "простейший" :). Совершенно не хочется делать второй liteseotools, где все уже сделано (в том числе и редактор ЧПУ-ссылок) и не сложно переделать под себя.

PS. (задумчиво) наверное, такую страничку надо и кодом 404 сопровождать. Надо бы в этом разобраться, не знакомая тема.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#120 gsm-group

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 101 сообщений
Репутация: 6
Начинающий

Отправлено 10 March 2012 - 07:08 PM

И все таки я Вам отвечу. Не удержался)))

И ты туда же... ПО-ЧЕ-МУ?
Для меня как раз вполне логично, когда неверная ссылка приводит не к выдаче файлика 404.html из дебрей апача или нгинкса, а к переходу на что-то более интересное, откуда жмаканье клиентом кнопочки может таки принести денежку .


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

1. Если брать все варианты и выбирать лучший из них - ТО ЛУЧШИХ НЕТ.
2. Необходимо найти золотую середину, и поверьте мне, ОНА уже найдена:
Пример одного из моих клиентов: [HIDE="1"]http://www.partexpress.ru/catalog/zapchasti-chevrolet-lanos/[/HIDE] увидите 404 ошибку, и уберите слеш в конце..., но ни как не главная. Вот такое решение уже более менее правильное.Но лучше для клиента 301 редирект на основную ссылку т.е без слеша (ТУТ ОНА ОСНОВНАЯ)

И то в выше указанном примере нет вложенности категорий, и это неправильно. И в Google, и в Яндексе приходиться в ручную давать подсказки на быстрые ссылки и еще много чего (писать много надо здесь).
Но как пример - вам дали с форума ссылку она имеет вид : сайт.ру/холодильники/двухкамерные-холодильники/. Вы смотрите себе холодильники и ваша супруга вам говорит на хрен двухкамерные места нет его ставить)), и я (мне проще) удаляю в адресной строке до сайт.ру/холодильники/ (ищу однокамерный), и если у этого сайта ссылки без слеша основные, то происходит 301 редирект на ссылку без слеша, или наоборот (ВЗАВИСИМОСТИ КАКОЙ ВИД ИМЕЕТ ОСНОВНАЯ ССЫЛКА В ИНДЕКСЕ).
Таким образом мы убаюкиваем поисковик и клиенты всегда видят нужный контент.
  • 0