|
0 / 0 / 0
Регистрация: 09.10.2019
Сообщений: 24
|
|
Организация метатегов по маске $_SERVER['REQUEST_URI'];13.11.2019, 12:41. Показов 2424. Ответов 15
Метки нет (Все метки)
Здравствуйте
Есть сайт на пхп, абсолютно не оптимизированный под СЕО. В файле хедера прописаны теги title, description и т.д. На каждой странице сайта они повторяются, но их уже поисковики не берут т.к. смотрят на то что прописано в тегах head то бишь в файле хедера. и получается что все страницы сайта с одинаковым описанием и т.д. Других мыслей кроме как смотреть на урл и в зависимости от этого выдавать теги у меня нет. Вопрос синтаксиса. Условно говоря на сайте есть страницы, которые идут сразу после имени домена, есть вида https://домен/viewstr/имястранички https://домен/viewart/имястраничкии т.д. Как именно прописать эти условия? if($_SERVER['REQUEST_URI'] == '/') это я так понимаю главная будет а вот дальше у меня пошли сложности if($_SERVER['REQUEST_URI'] == '/****') где условные звездочки это уже имя странички. Но надо исключить viewstr и viewart т.е. чтобы выполнялась маска только под имена https://домен/имястранички Далее директории if($_SERVER['REQUEST_URI'] == '/viewstr/*****') соотв тут звездочки это любое имя если есть после имени домена viewstr, маска для адресов типа Помогите пожалуйста с маской. Мне достаточно двух примеров - страничка после имени домена, и страничка после имени домена/директории
0
|
|
| 13.11.2019, 12:41 | |
|
Ответы с готовыми решениями:
15
$_SERVER['REQUEST_URI'] $_SERVER['REQUEST_URI']
|
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
|
|||||||
| 13.11.2019, 13:11 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 09.10.2019
Сообщений: 24
|
|
| 13.11.2019, 13:44 [ТС] | |
|
Так выдается первая буква названия страницы
0
|
|
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
|
||||||
| 13.11.2019, 13:47 | ||||||
|
Упс, растяпа
0
|
||||||
|
0 / 0 / 0
Регистрация: 09.10.2019
Сообщений: 24
|
|
| 13.11.2019, 13:52 [ТС] | |
|
Выдается урл страницы, без имени сайта и префикса. пока не очень догоняю как это может мне помочь
0
|
|
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
|
|
| 13.11.2019, 13:56 | |
|
Kojuh, тогда я не понял задачу. Опишите подробней, что нужно получить из URL.
0
|
|
|
0 / 0 / 0
Регистрация: 09.10.2019
Сообщений: 24
|
||||||||||||||||
| 13.11.2019, 14:11 [ТС] | ||||||||||||||||
|
Смотрите, какая задача. Сейчас мы имеем сайт, где все страницы имеют одинаковый дескрипшн, тайтл и т.д. Короче говоря все og теги одинаковые. На сайте есть подразделы, условно:
Статьи Очерки Инструкции. Статьи находятся по следующему адресу: https://домен/имястатьи Очерки: https://домен/viewstr/имястранички Инструкции https://домен/viewart/имястранички У каждого подраздела свои записи в базу. Соответственно что задумывается. По урлам идентифицировать тип записи на странице, выдирать из БД нужные параметры, и прописывать их в теги. Например: Статьи:
0
|
||||||||||||||||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,884
|
|
| 13.11.2019, 20:22 | |
|
Зачем вообще нужны какие-то условия, если у страниц данные уникальны? Просто добавьте во все таблицы одноименные "SEO-поля", выбирайте их в массив и выводите так, как показали.
Или вы не можете разделить код обработки HTTP-запросов по типам выводимых страниц? Это называется маршрутизация (роутинг). Есть разные способы ее выполнения. Описание самых популярных можно легко найти в Интернете.
0
|
|
|
0 / 0 / 0
Регистрация: 09.10.2019
Сообщений: 24
|
||||||
| 13.11.2019, 20:28 [ТС] | ||||||
|
Решил вопрос вообще по другому
На типовые страницы добавил код:
0
|
||||||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,884
|
||
| 13.11.2019, 20:34 | ||
|
Лучше бы ответили на мой вопрос.
![]() Добавлено через 1 минуту Логика показанного ветвления совершенно не понятна. Что за INSERT?!
0
|
||
|
0 / 0 / 0
Регистрация: 09.10.2019
Сообщений: 24
|
|
| 13.11.2019, 20:45 [ТС] | |
|
Отвечаю на вопрос.
Сайт делала еще более криворукая обезьяна чем я ) Как у него роутинг организован, и вообще что пил человек когда все это писал - неизвестно. Скажем канонический урл такой: https://домен/viewstr/имястранички но спокойно прокатит и что то типа https://домен/viewstr/имястранички=&type11 на 404 не выкинет, покажет именно каноническую страницу. С этим еще предстоит разбираться, т.к. все вот эти возможные комбинации весело сьедает поисковый робот и потом начинает выносить мозг, добавлением и выкидыванием из индекса.Теперь что касаемо костылей, что я тут понаставил. Ну реально с моим уровнем я ничего придумать не смог иного ![]() Работает по следующему принципу. Кто то заходит на определенную страницу. Идет обращение к таблице БД, где прописаны все данные по тегам. Если не видит страницы, соответствующей урлу, то делает новую запись в таблицу. соотв когда будет следующий заход на эту же страницу, в базе будет запись, соответствующая этому урлу и таблицу скрипт трогать не будет.
0
|
|
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,884
|
||||
| 13.11.2019, 21:13 | ||||
![]() Срочно исправляйте.Добавлено через 5 минут Вообще-то я прежде всего спрашивал это:
0
|
||||
|
0 / 0 / 0
Регистрация: 09.10.2019
Сообщений: 24
|
||||||||
| 13.11.2019, 21:17 [ТС] | ||||||||
|
1. При добавлении статьи нужно будет заполнять эти самые сео поля 2. Как быть со статичными страницами? для них теги все равно прописаны в одном файле темплейта 3. Как темплейту обьяснить из какой таблицы под какую страницу брать сео поля? по сути также по реквестурлу. у меня 12 таблиц с разными типами данных. И уже в некоторых файлах пришлось городить такие вещи. т.к. данные по статье весело раскиданы по разным таблицам. Тайтл в одной, превью в другой
0
|
||||||||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,884
|
|||
| 13.11.2019, 22:09 | |||
|
1. Да. Это плохо?
2. Сделать динамичными. Если они полностью статичные, можно прямо в HTML-коде прописывать, хотя это и не очень удобно. При этом не понимаю, как полностью статичные страницы связаны с каким-то там "файлом темплейта". Объясните. 3. Никак. "Темплейт" просто принимает данные. Подготовку данных для шаблона, при необходимости выбор нужного шаблона осуществляет другой код. На код с INSERT я без слез смотреть не могу. Либо присоединение (таблицы) метатегов (LEFT JOIN) по числовому идентификатору, либо их размещение в той же таблице, как я ранее вам написал, что вполне естественно. Добавлено через 8 минут В некоторых случаях в шаблонах могут встречаться такие ветвления, о которых мы говорим. Но разбор $_SERVER['REQUEST_URI'] - это не уровень шаблонов. Используемые в них условия должны быть более высокоуровневыми, например is_category(), is_static_page() и т.п.
0
|
|||
|
0 / 0 / 0
Регистрация: 09.10.2019
Сообщений: 24
|
|||
| 13.11.2019, 22:15 [ТС] | |||
|
2. Это страницы, типа "о нас", "статьи" и т.д. Текст пишется в админку через базу. А структура сайта такова грубо говоря. Есть темплейт с хедером, футером, менюхами и т.д., то что есть на каждой странице сайта. А внутри в нем уже непосредственно все страницы сайта показываются. Поэтому если теги я пропишу внутри статичной страницы, их просто ни один робот не увидит, он будет смотреть то, что прописано в теге head/ А head в темплейте ))) )
0
|
|||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,884
|
||||||||||||||||||||||||
| 13.11.2019, 22:54 | ||||||||||||||||||||||||
|
Еще такой вариант ветвления для надежности можно использовать, но только не для всех полей, а для тех, которые действительно могут отсутствовать:
Добавлено через 12 минут Только в общих частях шаблона используйте те поля, которые имеются у всех страниц, или окружите использование каждого такого поля ветвлением, пример которого я выше написал, или вместо ветвления используйте функцию представления, когда это уместно, например:
0
|
||||||||||||||||||||||||
| 13.11.2019, 22:54 | |
|
Помогаю со студенческими работами здесь
16
$_SERVER['REQUEST_URI'] Не работает case с $_SERVER['REQUEST_URI'] Как вывести $_SERVER['REQUEST_URI '] в index.php, если директории не существует? Сопоставление ссылки в коде с REQUEST_URI по маске
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|