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

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

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.08.2016, 20:30   #1
Admin2
Пользователь
 
Регистрация: 13.10.2008
Сообщений: 40
По умолчанию Как скрыть от индексирования через псевдоэлементы?

Подскажите плиз, как можно скрыть текст от индексирования поисковыми машинами? Если можно, покажите на примере в пару строчек.
Admin2 вне форума Ответить с цитированием
Старый 19.08.2016, 21:26   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Можно воспользоваться тегом <noindex>...</noindex>, но:
1. Этого тега нет в спецификации HTML, поэтому такой под получится невалидным. Для успешной валидации теговые скобки надо заключать в комментарии:
Код HTML:
<!-- <noindex> -->
  Я не хочу индексироваться
<!-- </noindex> -->
2. Работать такое будет только в яндексе, то есть, только яндекс не будет индексировать текст внутри таких конструкций.

Можете попробовать вынести текст, который надо скрыть, в отдельные страницы, доступ к ним закрыть через robots.txt:

Код:
user-agent: *
dissallow: (тут пишете путь к целевым файлам, начиная от корня, например, /myPages/myHomePage.php)
Работает везде.
Кстати, если для параметра disallow установите значение "/", то не будет виден вообще вообще весь сайт.
Вадим Мошев вне форума Ответить с цитированием
Старый 19.08.2016, 21:39   #3
Admin2
Пользователь
 
Регистрация: 13.10.2008
Сообщений: 40
По умолчанию

Ясно.
А нельзя использовать для скрытия индексирования, например, псевдоэлемент before: ? Я вроди где-то встречал, что это возможно, но не могу нагуглить ничего подходящего.
Admin2 вне форума Ответить с цитированием
Старый 19.08.2016, 21:41   #4
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

еще не индексируются псевдоэлементы и атрибуты, соответсвенно, текст можно показать через псевдоэлемент, взяв его из атрибута.
upd: ну вот ты и ответил сам себе на вопрос)
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 19.08.2016, 21:52   #5
Admin2
Пользователь
 
Регистрация: 13.10.2008
Сообщений: 40
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение
...текст можно показать через псевдоэлемент, взяв его из атрибута.
А вы не могли бы пожалуйста двумя строчками показать как это выглядит? Я к сожалению, к html и css имею лишь косвенное отношение, но мне очень важно понять как это работает.
Admin2 вне форума Ответить с цитированием
Старый 20.08.2016, 00:27   #6
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Admin2 Посмотреть сообщение
Я к сожалению, к html и css имею лишь косвенное отношение
Здесь уже одним html/css не обойтись. Вам потребуется javascript. Вот пример того, как это можно сделать:
Код:
var myElem = document.getElementById('myId');
var text = myElem.getAttribute('noindexText');
myElem.innerHTML = text;
В HTML вам нужен будет элемент, например, такой:
Код HTML:
<div noindexText="Не индексируйте меня!"></div>
Вадим Мошев вне форума Ответить с цитированием
Старый 20.08.2016, 01:19   #7
Admin2
Пользователь
 
Регистрация: 13.10.2008
Сообщений: 40
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Код HTML:
<div noindexText=
А это ОК добавлять в код собственные аттрибуты? У div тега ведь нет такого аттрибута. Валидный ли будет код с точки зрения поисковой машины?

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Код:
myElem.innerHTML = text;
Т.е. я верно понял, что таким образом нужно будет найти псевдоэлемент "before::" и вставить текст в его параметр "content"?
Admin2 вне форума Ответить с цитированием
Старый 20.08.2016, 04:35   #8
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
1. Этого тега нет в спецификации HTML, поэтому такой под получится невалидным. Для успешной валидации теговые скобки надо заключать в комментарии:
Код HTML:
<!-- <noindex> -->
  Я не хочу индексироваться
<!-- </noindex> -->
Не понимаю людей, которые боятся ставить свои аттрибуты и названия тегов. Валидация? О чём вы, на дворе дветыщишеснацатый год!

P.S. вроде как аттрибуты считаются валидными если соответствуют маске: `data-*`
^-.-^ My GitHub

Последний раз редактировалось Fenex; 20.08.2016 в 04:40.
Fenex вне форума Ответить с цитированием
Старый 20.08.2016, 04:36   #9
predefined
Форумчанин
 
Регистрация: 01.08.2016
Сообщений: 182
По умолчанию

Цитата:
Сообщение от Admin2 Посмотреть сообщение
Подскажите плиз, как можно скрыть текст от индексирования поисковыми машинами?
Скрыть часть текста на странице:
- для Яндекса - тэг <noindex> или его валидный вариант:
Цитата:
<!--noindex-->текст, индексирование которого нужно запретить<!--/noindex-->
- для Google - только сделав текст картинкой. Всё, что выводится яваскриптом и стилями - Google в состоянии увидеть.
И кликабельные ссылки картинкой не скроешь.

Скрыть всю страницу:
И Яндекс и Гугль повинуются мета-тэгу:
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
или
<META NAME="ROBOTS" CONTENT="NOINDEX, FOLLOW">

PS: В robots.txt страницы от индексации Гуглем не закрыть - если на них есть внешние ссылки, страницы всё-равно будут в индексе Google.
predefined вне форума Ответить с цитированием
Старый 20.08.2016, 11:12   #10
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от Admin2 Посмотреть сообщение
А вы не могли бы пожалуйста двумя строчками показать как это выглядит? Я к сожалению, к html и css имею лишь косвенное отношение, но мне очень важно понять как это работает.
Код:
<div class="noindex" data-text="hello world"></div>
Код:
.noindex:before {
  content: attr(data-text);
}
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрыть ленту через vba Igor_D Microsoft Office Excel 11 06.09.2019 16:45
Скрыть ненужные блоки через скрипт PavelVolia86 JavaScript, Ajax 0 05.05.2014 15:08
Матрица, перегрузка двойного индексирования [][] с/c++ Jess Mailes Помощь студентам 2 10.10.2012 14:11
Псевдоэлементы и IE5/6/7 sun-pa HTML и CSS 0 14.03.2009 14:21
Как скрыть приложение? The_Darkness Общие вопросы Delphi 11 14.07.2008 10:44