Добрый вечер. Нужна помощь по Js. В общем, есть переменная $BRIEF$, ее я хочу использовать как meta description, но дело в том что у 300+ файлов, эта переменная (точнее краткое описание файлов) идет с html тегами (жирный текст) и при просмотре исходного кода идет текст с html тегами. Теперь я хочу избавиться от них посредством JS. Если ли такой скрипт? Лучшие бесплатные читы для онлайн игр
Qoffee, на вопросах по uCoz на эту тему был разговор, про BRIEF, так как на сайте также было и мне рекомендовали убоать. Не знаю почему, но так сказали, что после этого сразу купил CEO пакет и краткое через него делаю.
Интересно почему идет под жирный текст, по идет там стандартный должен.
Да уж нету там ничего интересного. В кратком выделил отдельные слова жирным, вот и в description как бы жирным должен быть, но нефига он там жирным не будет, а будет показывать обычный текст заключённый тегами, и отображаться будет с тегами а не жирным. Уж лучше на странице материалов выделять тегами слова, а краткое не трогать. Достаточно на странице материалов категории вывести описание категории, и выделив их тегами, поставить тем самым акцент на определенные слова, как ключевики, а не заспамить всю страницу категории одинаковыми словами в кратком. Ведь робот сканирует всю страницу категории и весь текст, а не определенный материал на странице. А определенный материал это страница материалов и там выделяй, да и BRIEF можно оставить и будет в поряде.
Kosten, Вот так у него показывает, и всё наглядно увидишь
Код
<meta name="description" content="Новый актуальный <b>Чит HookTronic для CS:GO 22.04.2017</b>, который пока находится в статусе undetected, так что можете играть с ним на любых серверах и режимах будь, то рейтинг или обычный паблик. В нем имеется legit и rage, которые довольно таки просто настраиваются. Также в чите имеется несколько режимов работы ESP, вы сможете выбрать, что Вам по душе. С данным читом можно играть как с пиратской версии CS:GO и с лицензионной." />
Да и текст тут для description как то длиноват, 426 символов!!!
Qoffee, на вопросах по uCoz на эту тему был разговор, про BRIEF, так как на сайте также было и мне рекомендовали убоать. Не знаю почему, но так сказали, что после этого сразу купил CEO пакет и краткое через него делаю.
Ибо наличие html-тегов в разметке страницы в том месте приводит к разрывам структуры html, уже устал это всем объяснять, как и говорить почему подрезка такими способами - плохо, нужно отказываться. Остальные посты "не о чём", уж извините.
Подшитые темы: /forum/133-6091-1 - о заполнении полей для SEO, исходя из группы и расставляя приоритеты; /forum/123-6046-1#40041 - description из поля краткого описания. Доступно только для пользователей - тут чисто пример темы с обсуждением этой проблемы, что с ней сталкиваются многие (с оф. форума uCoz).
Скрипты js тебе не помогут, поскольку они работают непосредственно с загруженным документом, в отличии от php - обход материалов, внося в них правки. Даже если скрипт js в исходом коде прописать, то он лишь загруженную страницу обработает, а для ПС - это ничего, наверное, не значит - сама ошибка в исходном коде документа остается. Тут уж ходить по материалам и править их, вручную. Можно еще сделать такое:
Код
<?if($BRIEF$ and (strpos($BRIEF$,'<')='-1' or strpos($BRIEF$,'>')='-1' or strpos($BRIEF$,'"')='-1'))?>Код вывода на description через поле краткого описания<?endif?>
Не проверял, если что... там через or или and всё писать нужно, а суть в том, что если наткнется на < > " в кратком описании, то не будет вывода description так, тут же - можно расставить приоритеты, чтобы тогда через else грузилось с другого поля.
Также можно визуально обозначить те материалы сайта, где есть html в поле этом краткого описания, чисто для наглядности, например, сделать табличку красную с привязкой на группу админ, чтобы когда он сидит лишь видел это - ходить потом и править материалы (это чисто для тех, кто хочет таким заниматься, например, еще когда ограничение вывода делали резкой через условные операторы, что шаблон потом коситься... там виновный материал можно будет сразу установить).
Еще можно всякие "танцы с бубном" делать, вот пример Доступно только для пользователей (из оф. блога uCoz), суть заключается в том, что в материалах писать там метки (назовём их "переключатели"). Например: <desc>Тут идёт ваше описание, абзац нужной длины и не содержит html - визуальное оформление, bb-коды, смайлы (то есть следить за этим... легко, ели материалы публикует персонал сайта)</desc>, а дальше текст идёт как обычно. В виде материалов потом делать вырезку содержимого в <desc></desc> - через шаблон, как и в странице материала и комментариев к нему, если там вывод через поле это $BRIEF$ (чтобы "лишнее" это не выводилось), а в мета-тег наоборот выводить всё, что находиться в <desc></desc> (это позволит доп. поля сэкономить, да и можно ввести это всё с привязкой от материала по $ID$, чтобы разбивка такая происходила от момента, когда начали ее делать, в ранее добавленных материалах же не постили этот "переключатель", проверять его наличие нужно). Сложно, но всё вполне возможно, если разобраться.
Помог? Скажи спасибо в виде "+" - вам мелочь, а мне приятно. Бесплатное оказание помощи в ответах на "Вопросы про uCoz".
Сообщение отредактировал -SAM- - Четверг, 29 Июня 2017, 00:04
Вот еще для сайта MIR-HACK писал оптимизацию, а именно для модуля новостей, где на странице материала и комментариев к нему нет переменной $BRIEF$.
1). В секции HEAD сайта прописал после </title> :
Код
<?if($SEO_DESCRIPTION$ || ($MESSAGE$ and strpos(substr($MESSAGE$,0,180),'<')='-1' and strpos(substr($MESSAGE$,0,180),'>')='-1' and strpos(substr($MESSAGE$,0,180),'"')='-1'))?><meta name="description" content="<?if($SEO_DESCRIPTION$)?>$SEO_DESCRIPTION$<?else?><?if(len($MESSAGE$)>=180)?><?substr($MESSAGE$,0,180)?>...<?else?>$MESSAGE$<?endif?><?endif?>" /><?endif?>
Это с проверкой недопустимых символов.
2). Когда попадаются недопустимые символы, то после сделал еще так:
Код
<div class="eText" colspan="2"> $MESSAGE$<?if($MESSAGE$ and (strpos(substr($MESSAGE$,0,180),'<')>0 or strpos(substr($MESSAGE$,0,180),'>')>0 or strpos(substr($MESSAGE$,0,180),'"')>0) and !$USER_LOGGED_IN$)?> <!--noindex--><script>//Мета-описание из сообщения $('.eText').after(function(){ eText = $(this).text(); if(eText.length > 180) { metaDes = ($.trim(eText)).substr(0,180); } else { metaDes = eText; }; $('title').after('\n<meta name="description" content="'+metaDes+'" />'); }); </script><!--/noindex--><?endif?> [...]
То есть уже скриптом делает пропись SEO-описания из текста материала.
Еще вот скрипт на мета-ключевые слова из тегов:
Код
<?if(!$SEO_KEYWORDS$ and !$USER_LOGGED_IN$)?> <!--noindex--><script>//Ключевые слова из тегов $('.full_post_tags').after(function(){ metaKey = $(this).text(); $('[name="description"]').after('\n<meta property="og:keywords" itemprop="keywords" name="keywords" content="'+metaKey+'" />'); }); </script><!--/noindex--><?endif?>
Не забудьте поменять класс в скрипте на тот, в котором у вас расположен блок с тегами материала.
[admin]ДОБАВЛЕНО СПУСТЯ:Что касается подстановки мета-тегов и ключей скриптом, то поисковый бот его не подхватывает по ходу (пример).[/admin]
P.S.: в первом предложении важно описывать суть так, как если бы делали из краткого текста материала.
Помог? Скажи спасибо в виде "+" - вам мелочь, а мне приятно. Бесплатное оказание помощи в ответах на "Вопросы про uCoz".
Сообщение отредактировал -SAM- - Понедельник, 27 Сентября 2021, 02:29
Это чисто подстраховаться и не более, так как краткое описание на 200 знаков можно и без различных скобок написать. Он больше подойдет на сайт, где уже много контента, чтоб не проверять каждый, а уже наверняка знать, что корректно покажет.
Сообщение отредактировал -SAM- - Пятница, 19 Июня 2020, 20:51
Это чисто подстраховаться и не более, так как краткое описание на 200 знаков
Так как подключено SEO, и здесь я могу посмотреть, сколько можно знаков прописать с пробелами. Сам стараюсь писать 143 до 145 и не больше. Здесь зависит от дизайна вид материала, так как на 3 строку пойдет. Но просматривая запросы в поисковой системе, то уверен, что не менее 190 можно смело краткого описание по знакам с пробелами оставлять.