Disallow html: html — Disallow @ character in html5 input field

что означает и как правильно использовать

В данной статье речь пойдет о самых популярных директивах Dissalow и Allow в файле robots.txt.

Disallow

Allow

Совместная интерпретация директив

Пустые Allow и Disallow

Специальные символы в директивах

Примеры совместного применения Allow и Disallow

Disallow

Disallow – директива, запрещающая индексирование отдельных страниц, групп страниц, их отдельных файлов и разделов сайта(папок). Это наиболее часто используемая директива, которая исключает из индекса:

  • страницы с результатами поиска на сайте;
  • страницы посещаемости ресурса;
  • дубли;
  • сервисные страницы баз данных;
  • различные логи;
  • страницы, содержащие персональные данные пользователей.

Примеры директивы Disallow в robots.

txt:  

# запрет на индексацию всего веб-ресурса
User-agent: Yandex
Disallow: /
# запрет на обход страниц, адрес которых начинается с /category
User-agent: Yandex
Disallow: /category
# запрет на обход страниц, URL которых содержит параметры
User-agent: Yandex
Disallow: /page?
# запрет на индексацию всего раздела wp-admin
User-agent: Yandex
Disallow: /wp-admin
# запрет на индексацию подраздела plugins
User-agent: Yandex
Disallow: /wp-content/plugins
# запрет на индексацию конкретного изображения в папке img
User-agent: Yandex
Disallow: /img/images.jpg
# запрет индексации конкретного PDF документа
User-agent: Yandex
Disallow: /dogovor.pdf
# запрет на индексацию не только /my, но и /folder/my или /folder/my
User-agent: Yandex
Disallow: /*my

Правило Disallow работает с масками, позволяющими проводить операции с группами файлов или папок.

После данной директивы необходимо ставить пробел, а в конце строки пробел недопустим.

В одной строке с Disallow через пробел можно написать комментарий после символа “#”.

Allow

В отличие от Disallow, данное указание разрешает индексацию определенных страниц, разделов или файлов сайта. У директивы Allow схожий синтаксис, что и у Disallow.

Хотя окончательное решение о посещении вашего сайта роботами принимает поисковая система, данное правило дополнительно призывает их это делать.

Примеры Allow в robots.txt:

# разрешает индексацию всего каталога /img/
User-agent: Yandex
Allow: /img/
# разрешает индексацию PDF документа
User-agent: Yandex
Allow: /prezentaciya.pdf
# открывает доступ к индексированию определенной HTML страницы
User-agent: Yandex
Allow: /page.html
# разрешает индексацию по маске *your
User-agent: Yandex
Allow: /*your
# запрещает индексировать все, кроме страниц, начинающихся с /cgi-bin
User-agent: Yandex
Allow: /cgi-bin
Disallow: /

Для директивы применяются аналогичные правила, что и для Disallow.

Совместная интерпретация директив

Поисковые системы используют Allow и Disallow из одного User-agent блока последовательно, сортируя их по длине префикса URL, начиная от меньшего к большему. Если для конкретной страницы веб-сайта подходит применение нескольких правил, поисковый бот выбирает последний из списка. Поэтому порядок написания директив в robots никак не сказывается на их использовании роботами.

На заметку. Если директивы имеют одинаковую длину префиксов и при этом конфликтуют между собой, то предпочтительнее будет Allow.

Пример robots.txt написанный оптимизатором:

User-agent: Yandex
Allow: /
Allow: /catalog/phones
Disallow: /catalog

Пример отсортированного файл robots.txt поисковой системой:

User-agent: Yandex
Allow: /
Disallow: /catalog
Allow: /catalog/phones
# запрещает посещать страницы, начинающиеся с /catalog,
# но разрешает индексировать страницы, начинающиеся с /catalog/phones

Пустые Allow и Disallow

Когда в директивах отсутствуют какие-либо параметры, поисковый бот интерпретирует их так:

# то же, что и Allow: / значит разрешает индексировать весь сайт
User-agent: Yandex
Disallow:
# не учитывается роботом
User-agent: Yandex
Allow:

Специальные символы в директивах

В параметрах запрещающей директивы Disallow и разрешающей директивы Allow можно применять специальные символы “$” и “*”, чтобы задать конкретные регулярные выражения.

Специальный символ “*” разрешает индексировать все страницы с параметром, указанным в директиве. К примеру, параметр /katalog* значит, что для ботов открыты страницы /katalog, /katalog-tovarov, /katalog-1 и прочие. Спецсимвол означает все возможные последовательности символов, даже пустые.

Примеры:

User-agent: Yandex
Disallow: /cgi-bin/*.aspx # запрещает /cgi-bin/example.aspx
                          # и /cgi-bin/private/test.aspx
Disallow: /*private # запрещает не только /private
                    # но и /cgi-bin/private

По стандарту в конце любой инструкции, описанной в Robots, указывается специальный символ “*”, но делать это не обязательно.

Пример:

User-agent: Yandex
Disallow: /cgi-bin* # закрывает доступ к страницам
                    # начинающимся с /cgi-bin
Disallow: /cgi-bin # означает то же самое

Для отмены данного спецсимвола в конце директивы применяют другой спецсимвол – “$”.

Пример:

User-agent: Yandex
Disallow: /example$ # закрывает /example,
                    # но не запрещает /example.
html User-agent: Yandex Disallow: /example # запрещает и /example # и /example.html

На заметку. Символ “$” не запрещает прописанный в конце “*”.

Пример:

User-agent: Yandex
Disallow: /example$  # закрывает только /example
Disallow: /example*$ # аналогично, как Disallow: /example
                     # запрещает и /example.html и /example

Более сложные примеры:

User-agent: Yandex
Allow: /obsolete/private/*.html$ # разрешает HTML файлы
                                 # по пути /obsolete/private/...
Disallow: /*.php$  # запрещает все *.php на сайте
Disallow: /*/private/ # запрещает все подпути содержащие /private/
                      # но Allow выше отменяет часть запрета
Disallow: /*/old/*.zip$ # запрещает все .zip файлы, содержащие в пути /old/
User-agent: Yandex
Disallow: /add.php?*user=
# запрещает все скрипты add.php? с параметром user

Примеры совместного применения Allow и Disallow

User-agent: Yandex
Allow: /
Disallow: /
# разрешено индексировать весь веб-ресурс
User-agent: Yandex
Allow: /$
Disallow: /
# запрещено включать в индекс все, кроме главной страницы
User-agent: Yandex
Disallow: /private*html
# заблокирован и /private*html,
# и /private/test. html, и /private/html/test.aspx и т.п.
User-agent: Yandex
Disallow: /private$
# запрещается только /private
User-agent: *
Disallow: /
User-agent: Yandex
Allow: /
# так как робот Яндекса
# выделяет записи по наличию его названия в строке User-agent:
# тогда весь сайт будет доступен для индексирования

Я всегда стараюсь следить за актуальностью информации на сайте, но могу пропустить ошибки, поэтому буду благодарен, если вы на них укажете. Если вы нашли ошибку или опечатку в тексте, пожалуйста, выделите фрагмент текста и нажмите

Ctrl+Enter.

Самый правильный robots.txt для популярных CMS

Содержание с переходом

Примеры robots.txt

robots.txt – это текстовый файл, лежащий в корне сайта и сообщающий поисковым системам как индексировать сайт. Набор строк сообщает, какие разделы сайта разрешить или запретить от индексации, причем для некоторых поисковых систем, может быть использованы дополнительные параметры обрабатывающий только конкретной поисковой системой.

Подробное руководство по использованию - robots.txt для Яндекс

Для тех, кто долго не любит вникать, как правильно составить robots.txt, привожу сразу список наиболее популярных CMS, и какие чаще всего подойдут для них настройки.

Главное понимать, что эти файлы не гарантируют 100% правильную работу, так как могут не закрыть разделы которые у Вас должны быть закрыты или напротив закрыть то, что не должно быть закрыто. Эти примеры лучше всего использовать, для того чтобы составить самому правильный роботикс тхт для своего сайта и не упустить особенности используемого Вами движка.

Так же не забыть там, где стоит site.ru подставить свой сайт.

Почти во всех случаях будет актуально:


Clean-param: utm_source=*
Clean-param: utm_medium=*
Clean-param: utm_campaign=*
Clean-param: utm_content=*
Clean-param: utm_term=*
Clean-param: cm_id=*
Clean-param: openstat=*
Clean-param: ycid=*
Clean-param: gcid=*
Clean-param: ref=*

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

Если все слишком сложно, то пишите на почту, помогу настроить индексацию сайта.

robots.txt для WordPress


User-agent: *
Allow: /wp-content/uploads
Disallow: */comment-page-*
Disallow: */comments
Disallow: */feed
Disallow: */trackback
Disallow: /*?
Disallow: /?feed=
Disallow: /?s=
Disallow: /author
Disallow: /cgi-bin
Disallow: /comments
Disallow: /page
Disallow: /search
Disallow: /tag
Disallow: /trackback
Disallow: /webstat
Disallow: /wp-admin
Disallow: /wp-comments
Disallow: /wp-content/cache
Disallow: /wp-content/plugins
Disallow: /wp-content/themes
Disallow: /wp-feed
Disallow: /wp-includes
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /wp-trackback
Disallow: /xmlrpc.php
Sitemap: http://site.ru/sitemap.xml
Host: site.ru

robots.txt для Joomla


User-agent: *
Allow: /images
Allow: /index.
php?option=com_xmap&sitemap=1&view=xml Disallow: /*?action=print Disallow: /*?sl* Disallow: /*atom.html Disallow: /*rss.html Disallow: /administrator Disallow: /bin Disallow: /cache Disallow: /cli Disallow: /component Disallow: /components Disallow: /includes Disallow: /index* Disallow: /index2.php?option=com_content&task=emailform Disallow: /installation Disallow: /language Disallow: /layouts Disallow: /libraries Disallow: /logs Disallow: /media Disallow: /modules Disallow: /plugins Disallow: /templates Disallow: /tmp Disallow: /trackback Disallow: /xmlrpc Sitemap: http://site.ru/sitemap.xml Host: site.ru

robots.txt для MODX


User-agent: *
Disallow: /*?
Disallow: /*?id=
Disallow: /assets
Disallow: /assets/cache
Disallow: /assets/components
Disallow: /assets/docs
Disallow: /assets/export
Disallow: /assets/import
Disallow: /assets/modules
Disallow: /assets/plugins
Disallow: /assets/snippets
Disallow: /connectors
Disallow: /core
Disallow: /index. php
Disallow: /install
Disallow: /manager
Disallow: /profile
Disallow: /search
Sitemap: http://site.ru/sitemap.xml
Host: site.ru


robots.txt для uCoz


User-agent: *
Allow: /*?page
Allow: /*?ref=
Disallow: /*-*-*-*-987$
Disallow: /*?
Disallow: /*_escaped_fragment_=
Disallow: /*0-*-0-17$
Disallow: /*0-0-
Disallow: /*-0-0-
Disallow: /a/
Disallow: /abnl
Disallow: /admin
Disallow: /index/1
Disallow: /index/2
Disallow: /index/3
Disallow: /index/5
Disallow: /index/7
Disallow: /index/8
Disallow: /index/9
Disallow: /index/sub
Disallow: /informer
Disallow: /mchat
Disallow: /panel
Disallow: /poll
Disallow: /register
Disallow: /search
Disallow: /secure
Disallow: /shop/checkout
Disallow: /shop/user
Disallow: /stat
Sitemap: http://site.ru/sitemap-forum.xml
Sitemap: http://site.ru/sitemap-shop. xml
Sitemap: http://site.ru/sitemap.xml
Host: site.ru


robots.txt для Drupal


User-agent: *
Disallow: *comment*
Disallow: *login*
Disallow: *register*
Disallow: /*&sort*
Disallow: /*/delete
Disallow: /*/edit
Disallow: /*?sort*
Disallow: /*calendar
Disallow: /*index.php
Disallow: /*order
Disallow: /*section
Disallow: /*votesupdown
Disallow: /?q=admin
Disallow: /?q=admin/
Disallow: /?q=comment/reply
Disallow: /?q=contact
Disallow: /?q=filter/tips
Disallow: /?q=logout
Disallow: /?q=node/add
Disallow: /?q=search
Disallow: /?q=user/login
Disallow: /?q=user/logout
Disallow: /?q=user/password
Disallow: /?q=user/register
Disallow: /admin
Disallow: /admin/
Disallow: /archive/
Disallow: /book/export/html
Disallow: /CHANGELOG.txt
Disallow: /comment
Disallow: /comment/reply
Disallow: /comments/recent
Disallow: /contact
Disallow: /cron. php
Disallow: /filter/tips
Disallow: /forum
Disallow: /forum/active
Disallow: /forum/unanswered
Disallow: /includes
Disallow: /INSTALL.mysql.txt
Disallow: /INSTALL.pgsql.txt
Disallow: /install.php
Disallow: /INSTALL.sqlite.txt
Disallow: /INSTALL.txt
Disallow: /LICENSE.txt
Disallow: /logout
Disallow: /logout/
Disallow: /MAINTAINERS.txt
Disallow: /messages
Disallow: /misc
Disallow: /modules
Disallow: /node
Disallow: /node/add
Disallow: /print/node
Disallow: /profile
Disallow: /profiles
Disallow: /scripts
Disallow: /search
Disallow: /taxonomy
Disallow: /taxonomy/term*/feed
Disallow: /themes
Disallow: /update.php
Disallow: /UPGRADE.txt
Disallow: /user
Disallow: /user/
Disallow: /user/login
Disallow: /user/logout
Disallow: /user/password
Disallow: /user/register
Disallow: /xmlrpc.php
Sitemap: http://site.ru/sitemap. xml
Host: site.ru


robots.txt для 1С-Битрикс


User-agent: *
Allow: /map/
Allow: /search/map.php
Allow: /bitrix/templates/
Disallow: */index.php
Disallow: /*action=
Disallow: /*print=
Disallow: /*/gallery/*order=
Disallow: /*/search/
Disallow: /*/slide_show/
Disallow: /*?utm_source=
Disallow: /*ADD_TO_COMPARE_LIST
Disallow: /*arrFilter=
Disallow: /*auth=
Disallow: /*back_url_admin=
Disallow: /*BACK_URL=
Disallow: /*back_url=
Disallow: /*backurl=
Disallow: /*bitrix_*=
Disallow: /*bitrix_include_areas=
Disallow: /*building_directory=
Disallow: /*bxajaxid=
Disallow: /*change_password=
Disallow: /*clear_cache_session=
Disallow: /*clear_cache=
Disallow: /*count=
Disallow: /*COURSE_ID=
Disallow: /*forgot_password=
Disallow: /*ID=
Disallow: /*index.php$
Disallow: /*login=
Disallow: /*logout=
Disallow: /*modern-repair/$
Disallow: /*MUL_MODE=
Disallow: /*ORDER_BY
Disallow: /*PAGE_NAME=
Disallow: /*PAGE_NAME=detail_slide_show
Disallow: /*PAGE_NAME=search
Disallow: /*PAGE_NAME=user_post
Disallow: /*PAGEN_
Disallow: /*print_course=
Disallow: /*print=
Disallow: /*q=
Disallow: /*register=
Disallow: /*register=yes
Disallow: /*set_filter=
Disallow: /*show_all=
Disallow: /*show_include_exec_time=
Disallow: /*show_page_exec_time=
Disallow: /*show_sql_stat=
Disallow: /*SHOWALL_
Disallow: /*sort=
Disallow: /*sphrase_id=
Disallow: /*tags=
Disallow: /access. log
Disallow: /admin
Disallow: /api
Disallow: /auth
Disallow: /auth.php
Disallow: /auto
Disallow: /bitrix
Disallow: /bitrix/
Disallow: /cgi-bin
Disallow: /club/$
Disallow: /club/forum/search/
Disallow: /club/gallery/tags/
Disallow: /club/group/search/
Disallow: /club/log/
Disallow: /club/messages/
Disallow: /club/search/
Disallow: /communication/blog/search.php
Disallow: /communication/forum/search/
Disallow: /communication/forum/user/
Disallow: /content/board/my/
Disallow: /content/links/my/
Disallow: /error
Disallow: /e-store/affiliates/
Disallow: /e-store/paid/detail.php
Disallow: /examples/download/download_private/
Disallow: /examples/my-components/
Disallow: /include
Disallow: /personal
Disallow: /search
Disallow: /temp
Disallow: /tmp
Disallow: /upload
Disallow: /*/*ELEMENT_CODE=
Disallow: /*/*SECTION_CODE=
Disallow: /*/*IBLOCK_CODE
Disallow: /*/*ELEMENT_ID=
Disallow: /*/*SECTION_ID=
Disallow: /*/*IBLOCK_ID=
Disallow: /*/*CODE=
Disallow: /*/*ID=
Disallow: /*/*IBLOCK_EXTERNAL_ID=
Disallow: /*/*SECTION_CODE_PATH=
Disallow: /*/*EXTERNAL_ID=
Disallow: /*/*IBLOCK_TYPE_ID=
Disallow: /*/*SITE_DIR=
Disallow: /*/*SERVER_NAME=
Sitemap: http://site. ru/sitemap_index.xml
Sitemap: http://site.ru/sitemap.xml
Host: site.ru

robots.txt для NetCat


User-agent: *
Disallow: /*.swf
Disallow: /*?
Disallow: /eng
Disallow: /install
Disallow: /js
Disallow: /links
Disallow: /netcat
Disallow: /netcat_cache
Disallow: /netcat_dump
Disallow: /netcat_files
Sitemap: http://site.ru/sitemap.xml
Host: site.ru


robots.txt для UMI.CMS


User-agent: *
Disallow: /*?
Disallow: /?
Disallow: /admin
Disallow: /emarket/addToCompare
Disallow: /emarket/basket
Disallow: /files
Disallow: /go_out.php
Disallow: /images
Disallow: /images/lizing
Disallow: /images/ntc
Disallow: /index.php
Disallow: /install-libs
Disallow: /install-static
Disallow: /install-temp
Disallow: /search
Disallow: /users
Sitemap: http://site.ru/sitemap.xml
Host: site.ru


robots.

txt для HostCMS

User-agent: *
Disallow: /403
Disallow: /404
Disallow: /admin
Disallow: /articles/tag
Disallow: /captcha.php
Disallow: /chmod.sh
Disallow: /config.php
Disallow: /config_db.php
Disallow: /data_templates
Disallow: /documents
Disallow: /download_file.php
Disallow: /glossary/tag
Disallow: /hostcmsfiles
Disallow: /lib
Disallow: /logs
Disallow: /main_classes.php
Disallow: /modules
Disallow: /news/tag
Disallow: /search
Disallow: /structure
Disallow: /templates
Disallow: /tmp
Disallow: /upload
Disallow: /xsl
Disallow: captcha.php
Disallow: download_file.php
Sitemap: http://site.ru/sitemap.xml
Host: site.ru


robots.txt для OpenCart


User-agent: *
Disallow: /*filter_description=
Disallow: /*filter_name=
Disallow: /*filter_sub_category=
Disallow: /*keyword
Disallow: /*limit=
Disallow: /*manufacturer
Disallow: /*order=
Disallow: /*page=
Disallow: /*route=account
Disallow: /*route=account/login
Disallow: /*route=affiliate
Disallow: /*route=checkout
Disallow: /*route=checkout/cart
Disallow: /*route=product/search
Disallow: /*sort=
Disallow: /*tracking=
Disallow: /admin
Disallow: /cache
Disallow: /cart
Disallow: /catalog
Disallow: /change-password
Disallow: /checkout
Disallow: /download
Disallow: /export
Disallow: /index. php?route=account
Disallow: /index.php?route=account/account
Disallow: /index.php?route=account/login
Disallow: /index.php?route=checkout/cart
Disallow: /index.php?route=checkout/shipping
Disallow: /index.php?route=common/home
Disallow: /index.php?route=product/category
Disallow: /index.php?route=product/compare
Disallow: /index.php?route=product/manufacturer
Disallow: /index.php?route=product/product*&manufacturer_id=
Disallow: /index.php?route=product/search
Disallow: /login
Disallow: /my-account
Disallow: /order-history
Disallow: /request-return
Disallow: /search
Disallow: /search?filter_name=
Disallow: /search?tag=
Disallow: /system
Disallow: /vouchers
Disallow: /vqmod
Disallow: /wishlist
Sitemap: http://site.ru/sitemap.xml
Host: site.ru


Проверка robots.txt

После вставки проверяем корректность работы файла:

Для Яндекс – без регистрации, через Яндекс. Вебмастер
Для Google – инструкция, с регистрацией через Google Вебмастер

В заключении о файле индексации

Если нет Вашей CMS пишите, для Вас составлю бесплатно этот файл и добавлю в список поста.

Так же я старался дать уникальные примеры файлов и редко делю директиву User-agent, как это некоторые любят, по следующим причинам:

  • нет смысла делить то, что понимают все поисковые системы, результат создает избыточный размер файла, в крайнем случае, неизвестную директиву проигнорируют
  • если мы делим на конкретные ПС, не указывая звездочку, то другие ПС не смогут корректно проиндексировать сайт
  • если мы делим на конкретные ПС с указанием звездочки, тогда нет смысла перечислять в двух местах одни и те же директивы, а для других ПС имеет смысл перечислять тоже самое

Подробное руководство по использованию - robots.txt для Яндекс

Для тех, кто долго не любит вникать, как правильно составить robots. txt, привожу сразу список наиболее популярных CMS, и какие чаще всего подойдут для них настройки.

Главное понимать, что эти файлы не гарантируют 100% правильную работу, так как могут не закрыть разделы которые у Вас должны быть закрыты или напротив закрыть то, что не должно быть закрыто. Эти примеры лучше всего использовать, для того чтобы составить самому правильный роботикс тхт для своего сайта и не упустить особенности используемого Вами движка.

Так же не забыть там, где стоит site.ru подставить свой сайт.

Если все слишком сложно, то пишите на почту, помогу настроить индексацию сайта.

Robots.txt — предотвратить индексирование файлов .html

спросил

Изменено 5 лет, 6 месяцев назад

Просмотрено 2к раз

Я хочу запретить индексирование файлов *. html на нашем сайте, чтобы индексировались только чистые URL.

Итак, я хотел бы www.example.com/en/login проиндексировано, но не www.example.com/en/login/index.html

В настоящее время у меня есть:

 User-agent: *
Запретить: /
Запретить: /**.html — не работает
Разрешить: /$
Разрешить: /*/логин*
 

Я знаю, что могу просто запретить, например. Disallow: /*/login/index.html , но моя проблема в том, что у меня есть ряд этих файлов .html, которые я не хочу индексировать, поэтому мне интересно, есть ли способ запретить их все вместо того, чтобы делать их по отдельности?

  • robots.txt

Прежде всего, вы продолжаете использовать слово «индексировано», поэтому я хочу убедиться, что вы знаете, что соглашение robots.txt заключается только в том, чтобы предложить автоматическим поисковым роботам избегать определенных URL-адресов в вашем домене, но перечисленные страницы в файле robots.txt может по-прежнему отображаться в индексах поисковых систем, если у них есть другие данные о странице. Например, Google прямо заявляет, что они все равно будут индексировать и перечислять URL-адреса, даже если им не разрешено его сканировать. Я просто хотел, чтобы вы знали об этом на тот случай, если вы используете слово «индексированный» для обозначения «перечисленного в поисковой системе», а не «сканируемого автоматической программой».

Во-вторых, не существует стандартного способа выполнить то, о чем вы просите. Согласно «Страницам веб-роботов»:

Обратите внимание, что подстановка и регулярное выражение , а не , поддерживаются как в User-agent, так и в строках Disallow. ‘*’ в поле User-agent — это специальное значение, означающее «любой робот». В частности, у вас не может быть таких строк, как «User-agent: bot », «Disallow: /tmp/*» или «Disallow: *.gif».

При этом это обычное дополнение, которое поддерживают многие поисковые роботы. Например, в документации Google к директивам, которые они поддерживают, они описывают поддержку сопоставления с образцом, которая обрабатывает использование * в качестве подстановочного знака. Таким образом, вы можете добавить Disallow: /*.html$ , и тогда Google не будет сканировать URL-адреса, заканчивающиеся на .html , хотя они все равно могут оказаться в результатах поиска.

Но , если ваша основная цель сообщить поисковым системам, какой URL-адрес вы считаете «чистым» и предпочтительным, то на самом деле вам нужно указать канонические URL-адреса. Вы можете поместить элемент link rel="canonical" на каждую страницу с вашим предпочтительным URL-адресом для этой страницы, и поисковые системы, которые используют этот элемент, будут использовать его, чтобы определить, какой путь предпочесть при отображении этой страницы.

2

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но никогда не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.

Запрещенное содержимое — документация CKEditor 4

Функция запрещенного содержимого была введена в CKEditor 4.4 как часть системы расширенного фильтра содержимого, которая была представлена ​​в CKEditor 4.1 .

Функция «Запрещенный контент» дополняет существующую функцию «Разрешенный контент» тем, что позволяет вам явно заносить в черный список элементы, которые вы не хотите иметь в своем контенте CKEditor 4. Вы можете использовать его, чтобы ограничить функции, которые в противном случае были бы доступны в полностью автоматическом режиме Advanced Content Filter.

Запрещенное содержимое можно определить в параметре CKEDITOR.config.disallowedContent или добавить динамически с помощью метода CKEDITOR.filter.disallow. Он имеет более высокий приоритет, чем контент, разрешенный автоматически или настройкой CKEDITOR.config.allowedContent, следовательно, можно исправить автоматические настройки или добиться более сложных результатов вроде «разрешить все атрибуты, кроме тех, которые начинаются с по *».

Невозможно запретить содержимое, если расширенный фильтр содержимого отключен путем установки для CKEDITOR.config.allowedContent значения верно . Аналогичного решения можно достичь, разрешив все элементы HTML.

Правила запрещенного содержимого

Правила запрещенного содержимого очень похожи на правила разрешенного содержимого. Их можно указать в двух форматах (строковый и объектный), однако указать требуемые свойства нельзя (что в данном случае просто не имело бы никакого смысла).

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

Лучше всего смотреть на примерах.

  1. Запрет целых элементов.

     config.allowedContent = 'h2 h3 h4 p';
    config.disallowedContent = 'h3 h4';
    // Вход:  

    Foo

    Bar

    Bom

    // Отфильтровано:

    Foo

    Bar

    Bom

  2. Запрещение атрибутов, классов и стилей.

     config.allowedContent = 'p[*]{*}(foo,bar)';
    config.disallowedContent = 'p[on*](foo)';
    // Вход: 

    Foo

    Bar

    // Отфильтровано:

    Foo

    Bar

  3. Запрещение обязательного свойства.

     config.allowedContent = 'p; img[!src,alt]';
    config.disallowedContent = 'img[src]';
    // Ввод: 

    ...

    // Отфильтровано:

  4. Запрет свойств для всех элементов.

     config.allowedContent = 'p em{*}';
    config.disallowedContent = '*{шрифт*}';
    // Ввод: 

    Фу

    // Отфильтровано:

    Foo

  5. Настройка автоматически разрешенного контента.

     // Включенные плагины: изображение и таблица.
    config.disallowedContent = 'img{граница*,маржа*}; таблица[граница]{*}';
     

    После реализации этого кода откройте диалоговое окно «Свойства изображения» и убедитесь, что поля «Граница», «HSpace» и «VSpace» скрыты. Вы также можете открыть диалоговое окно «Таблица» и увидеть, что поля «Граница», «Ширина» и «Высота» также скрыты.

Как разрешить все, кроме…

Популярным требованием является разрешение всех функций HTML, кроме нескольких конкретных. В этом случае установка для CKEDITOR.config.allowedContent значения true не является решением, поскольку это полностью отключает расширенный фильтр содержимого, поэтому CKEDITOR.config.disallowedContent также не будет работать.

Поэтому единственное решение — написать правило разрешенного содержимого, разрешающее все элементы. К счастью, это можно легко сделать, используя объектный формат разрешенных правил содержимого и объект CKEDITOR.dtd.

 config.allowedContent = {
    $1: {
        // Используйте возможность указывать элементы как объект.
        элементы: CKEDITOR.dtd,
        атрибуты: правда,
        стили: правда,
        классы: правда
    }
};
config.disallowedContent = 'скрипт; *[на*]';
 

Приведенный выше пример кода разрешает все, кроме элементов