Search
Table of Contents
- How to Find the Latest Versions of PublishPress Plugins
- Changelogs for PublishPress Authors Pro
- Changelogs for PublishPress Capabilities Pro
- Changelogs for PublishPress Checklists Pro
- Changelogs for PublishPress Permissions Pro
- Changelogs for PublishPress Pro
- Changelogs for PublishPress Revisions Pro
- Changelogs for PublishPress Blocks
- Changelogs for Free PublishPress Plugins
- Changelogs for the PublishPress Theme
- Number of characters in title
- Numbers of words in content
- Number of categories
- Number of tags or taxonomy terms
- Number of characters in excerpt
- Number of internal links in content
- Number of external links in content
- All links use a valid format
- ALT Text for all images
- Featured image
- Latin characters in permalink
- Approved by a user in this role
- Yoast SEO tasks
- WooCommerce product tasks
- Getting Started With Notifications in PublishPress
- Understanding the PublishPress Notification Options
- Get PublishPress Notifications by Email or Slack
- How to Customize PublishPress Notifications With Shortcodes
- How to Use Reminder Notifications
- Notify Me: How to Manually Add Yourself to Notifications
- The PublishPress Notifications Log
- Hooks and Filters for Notifications
- Troubleshooting Email Notifications in PublishPress
- Control Access to Custom Post Types
- Control Access to Specific Categories
- Allow Editing of Specific Pages
- Force Users to Create Posts in a Category or Parent Page
- Block Users from Seeing Non-Editable Posts
- Control Viewing Permissions for WordPress Content
- Control Editing Permissions for WordPress Content
- Block Access to WordPress Category and Tag Pages
- Developer Information for Permission Groups
- PublishPress Permissions Database Tables and Settings
- pp_create_group()
- pp_delete_group()
- pp_get_group()
- pp_get_group_by_name()
- pp_get_metagroup
- pp_get_groups()
- pp_get_group_members()
- pp_get_groups_for_user()
- pp_add_group_user()
- pp_remove_group_user()
- pp_update_group_user()
- ppc_get_roles()
- ppc_assign_roles()
- ppc_get_exceptions()
- ppc_assign_exceptions()
- Does My Plugin Support PublishPress Revisions?
- A List of Some Plugins Supported by PublishPress Revisions
- PublishPress Revisions Pro and The Events Calendar
- PublishPress Revisions Pro and WooCommerce
- PublishPress Revisions Pro and Advanced Custom Fields
- PublishPress Revisions Pro and Beaver Builder
- PublishPress Revisions Pro and WPML
- PublishPress Revisions Pro and Custom Post Type UI
- PublishPress Revisions Pro and Yoast SEO
- PublishPress Revisions Pro and the PODS Framework
- Submit and Moderate Revisions with the Divi Theme
- Create Revisions Using an API
- Advanced Accordion Block
- Advanced Button Block
- Advanced Icon Block
- Advanced Image Block
- Advanced List Block
- Advanced Table Block
- Advanced Tabs Block
- Advanced Video Block
- Columns Manager Block
- Contact Form Block
- Count Up Block
- Images Slider Block
- Info Box Block
- Login / Register Form Block
- Map Block
- Newsletter Block
- Recent Posts Block
- Search Bar Block
- Social Links Block
- Summary Block
- Testimonial Block
- Woo Products Block
- A WordPress Editorial Workflow for Writing, Reviewing and Publishing
- A WordPress Workflow for Editing and Reviewing
- Create a Workflow for University Departments in WordPress with PublishPress
- Create a Multi-Step Workflow in WordPress
- How to Create a Publishing Workflow for Authors in WordPress
- How to Get 2 People to Approve Content in WordPress
- How to Allow WordPress Admin Area Access for WooCommerce Users
- How to Manage Permissions for WooCommerce Products
- Allow WooCommerce Users to Edit Only One Product
- How to Approve and Schedule Changes to WooCommerce Products
- WooCommerce Users Can Edit Products Only in Some Categories
- How Create WooCommerce Users Who Can Only View and Edit Products
- How to Create and Schedule Revisions for WooCommerce Products
- How to Control Who Can Duplicate WooCommerce Products
- Create WooCommerce Users Who Can Only View Reports
- How to Control Who Can Access WooCommerce Coupons
- How to Create WooCommerce Users Who Can Only View and Edit Orders
- How to Manage Permissions for WooCommerce Orders
- How to Control Permissions for WooCommerce Refunds
- How to Create Checklists with WooCommerce
- activate_plugins
- add_users
- create_users
- delete_others_pages
- delete_others_posts
- delete_pages
- delete_posts
- delete_plugins
- delete_private_pages
- delete_private_posts
- delete_published_pages
- delete_published_posts
- delete_themes
- delete_users
- edit_dashboard
- edit_others_pages
- edit_others_posts
- edit_pages
- edit_plugins
- edit_posts
- edit_private_pages
- edit_private_posts
- edit_published_pages
- edit_published_posts
- edit_theme_options
- edit_themes
- edit_users
- erase_others_personal_data
- export
- export_others_personal_data
- import
- install_plugins
- install_themes
- list_users
- manage_categories
- manage_links
- manage_options
- manage_privacy_options
- moderate_comments
- promote_users
- read
- read_private_pages
- read_private_posts
- remove_users
- switch_themes
- unfiltered_html
- unfiltered_upload
- update_core
- update_plugins
- update_themes
- upload_files
All links use a valid format
You are here:
- Main
- PublishPress Checklists
- Tasks
- All links use a valid format
This requirement ensure that all the links in your content (both external and internal) use a valid link format.
This feature won't check the destination URL, but it will check the link format to make sure you haven't used URLs such as htpps//
or .nt
.
How to use the “All links use a valid format” task
- Go to Checklists > Settings. The image below shows the internal links option.
- You can choose from “Disabled, Recommended, or Required” options.
- You can choose “Who can ignore this task?“

If you enable this link validation option, it will be visible when you edit content.
If you have broken links in your content, this task will be marked in red in the sidebar:

If you do not have broken links, this task will be marked in green in the sidebar:

Technical details for the link validation
The Checklists plugin uses these regular expressions to check for broken links. You will find this code in this file: /core/Requirement/Validate_links.php
.
//remove element inside <a href></a> to avoid double counting for one
//link in case of <a href="Link">Link</a>
$content = preg_replace("'\<a.*?href=\"(.*?)\".*?\>(.*?)\<\/a\>'si",'$1',$content);
$content = preg_replace("'\<a.*?href=\'(.*?)\'.*?\>(.*?)\<\/a\>'si",'$1',$content);
//strip html tags to avoid counting their link attribute as link
//like in <img src="" alt="site.com" />
$content = strip_tags($content);
//remove any possible email from content so we don't count them as link
$content = preg_replace("/[^@\s]*@[^@\s]*\.[^@\s]*/", "", $content);
//match all links inside content
preg_match_all('~\b(?:https?://)?(?:(?i:[a-zA-Z0-9._-]+\.)+)[^\s,]+\b~', $content, $links);