Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2016, 12:26   #1
vihtor
Пользователь
 
Аватар для vihtor
 
Регистрация: 06.06.2014
Сообщений: 78
По умолчанию Автоматическое заполнение META тегов

Здравствуйте.
Имеется статичный сайт (25 тыс. страниц). Сервер обрабатывает html как php.
Как автоматически прописать <meta name="description" content=""> разное, на каждой странице ? На сайте этого мета-тега нет.

В интернете нашёл это:
Можно сделать так:
Допустим значение переменной $text и есть статья. Берем эту переменную и создаем новую вырезав первые 255 символов:
1.КОД: $description = substr($text, 0, 255);
Теперь переменная $description содержит первые 255 символов статьи. Затем вставляем переменную в каждую страницу:
2.КОД: <meta name="description" content="<?=$description?>" />

Т.е. в html-код каждой страницы нужно вставить 2.КОД
А 1.КОД куда?
Неужели на каждой странице нужно вырезать вручную первые 255 символов и вставить туда это: $description = substr($text, 0, 255) ?
А затем между <head></head> прописать это: <meta name="description" content="<?=$description?>" />
Но это же чушь. Нафига этим заниматься когда первые 255 символов можно вставить прямо в <meta name="description" content=""> ?

Так как же реализовать Автоматическое заполнение META тегов?

А то я ввожу название каждой страницы в поиск Яндекса (или Гугла), тупо копирую сниппет и вставляю его в <meta name="description" content="">. Сделал уже 1000 страниц. Задолбался...
Файлы (страницы) у меня на компьютере.
vihtor вне форума Ответить с цитированием
Старый 27.07.2016, 12:33   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,149
По умолчанию

если у вас 25 тыс html файлов... то придется именно каждый так вставлять

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

еще вариант - написать скрипт на php (или другом языке) который в цикле пробежит все ваши тыщи файлов и вставит данный тег.....

а вообще - при таких объемах (и даже при гораздо меньших) - обычно CMS используют и не страдают от такой ерунды
ADSoft вне форума Ответить с цитированием
Старый 27.07.2016, 12:50   #3
vihtor
Пользователь
 
Аватар для vihtor
 
Регистрация: 06.06.2014
Сообщений: 78
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
если у вас 25 тыс html файлов... то придется именно каждый так вставлять

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

еще вариант - написать скрипт на php (или другом языке) который в цикле пробежит все ваши тыщи файлов и вставит данный тег.....

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

Так я так и не понял в своем первом посте: "Если вырезать вручную первые 255 символов и вставить туда это: $description = substr($text, 0, 255)" Что же это получится? Текста то не будет. Что же оно будет генерировать? Что-то не то...

И где взять скрипт на php (или другом языке) который в цикле пробежит все ваши тыщи файлов? Как такой скрипт называется? Поищу в Интернете...
vihtor вне форума Ответить с цитированием
Старый 27.07.2016, 13:18   #4
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Как вариант можно по быстрому написать простенький парсер, и что бы он искал

Код:
<head>
<meta name="description" content="" />
...
</head>
И менял на то что нужно. На Python такое за 10 минут можно замутить. Но файлы должны иметь правильную структуру.


PHP код:
#!/usr/bin/python
###################################################################
from BeautifulSoup import BeautifulSoup
import os
###################################################################

HTML_DOCS os.listdir("/www/");


for 
HTML in HTML_DOCS:


    if 
".html" in HTML or ".htm" in HTML:

        
parsed_html BeautifulSoupHTML );
        
meta parsed_html.head.find('meta'attrs={'name':'description'})

        print( 
meta.text ); 
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/

Последний раз редактировалось pompiduskus; 27.07.2016 в 13:24.
pompiduskus вне форума Ответить с цитированием
Старый 27.07.2016, 13:41   #5
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,149
По умолчанию

Цитата:
Сообщение от vihtor Посмотреть сообщение
И где взять скрипт на php (или другом языке) который в цикле пробежит все ваши тыщи файлов? Как такой скрипт называется? Поищу в Интернете...
такого рода скриптов готовых не бывает - нужно просто написать.. они не сложные.
ADSoft вне форума Ответить с цитированием
Старый 27.07.2016, 14:11   #6
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

для чего оно вообще надо? тем более такое описание..
come-on вне форума Ответить с цитированием
Старый 27.07.2016, 15:20   #7
vihtor
Пользователь
 
Аватар для vihtor
 
Регистрация: 06.06.2014
Сообщений: 78
По умолчанию

Нет о Python мне ничего не понятно. Извините, я не программист. Ну и написать скрипт на php, соответственно, тоже не могу.
А описание ("description" content=) заставляет вставить новый интерфейс Яндекс-вебмастер. Он пишет, что сайт ранжируется с ограничением, т.к. нет данного мета-тега.

Позвольте перефразировать свой вопрос по другому.
Имеется динамический сайт.
Уважаемые программисты, прошу разъяснить по-шагово.
Как реализовать вот это:

Автоматическое заполнение META тегов
Допустим значение переменной $text и есть статья. Берем эту переменную и создаем новую вырезав первые 255 символов:
КОД: $description = substr($text, 0, 255);
Теперь переменная $description содержит первые 255 символов статьи. Затем вставляем переменную в шаблон сайта:
КОД: <meta name="description" content="<?=$description?>" />

Это что - не работает?
vihtor вне форума Ответить с цитированием
Старый 27.07.2016, 15:42   #8
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,149
По умолчанию

почему не работает - работает
... тут вопрос в другом, у вас реально физически 25 тыс страниц в html со вставками php? Если да - то вам придется это делать в КАЖДОМ файле

Если же у вас например за вывод хидера сайта, ну или на его мета часть отвечает всего лишь один файл - тогда делаем там и радуемся

Нам ничего не известно о вашей структуре сайта... приведите пример какой-нибудь страницы.. .какого -то файла
ADSoft вне форума Ответить с цитированием
Старый 27.07.2016, 15:53   #9
vihtor
Пользователь
 
Аватар для vihtor
 
Регистрация: 06.06.2014
Сообщений: 78
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
почему не работает - работает
... тут вопрос в другом, у вас реально физически 25 тыс страниц в html со вставками php? Если да - то вам придется это делать в КАЖДОМ файле
Да, реально много файлов, в районе 25 тыс.
Php-вставку на каждую страницу сделать не проблема. На компьютере, специальной программой, я сделаю это за 10 мин.
Подскажите только КАК? Что куда вставлять?
vihtor вне форума Ответить с цитированием
Старый 27.07.2016, 15:57   #10
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,149
По умолчанию

еще раз повторю - не видя ваших страниц - остается только гадать
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение тегов в webbrowser Fahman Общие вопросы Delphi 4 19.12.2013 14:29
Автоматическое заполнение, НЕ получается! ar. Microsoft Office Excel 6 06.11.2010 11:39
Автоматическое заполнение Газовый Microsoft Office Excel 7 21.06.2010 18:52
Автоматическое заполнение даты Fezdipekla Microsoft Office Access 1 08.06.2010 13:45
Автоматическое заполнение. Как? Vitaliy7 Microsoft Office Access 2 25.01.2010 12:29