Two (give or take) points to consider here.
One – we don’t want anyone to see direct links in first place. Scrubbing them from admin side is quite a pain, but a post_link
filter in get_permalink()
(and maybe couple more filters in others) should allow to (mostly) override those.
Two – we don’t want users or search engine either to get “normal” page. In a nutshell whenever normal page is visited we want to:
- Check in
template_redirect
hook if it’s the one not to be visited. 301
(really, really mean it) redirect it to correct place (usingwp_safe_redirect()
for example) if so.
Related Posts:
- How to force a 404 on WordPress
- How do I skip wordpress’s 404 handling and redirect all 404 errors for static files to 404.html?
- Disable WordPress URL auto complete
- Disable ONLY URL auto complete, not the whole canonical URL system
- 301 redirect instead of 404 when URL is a prefix of a post or page name?
- Redirect to referring page after logging in
- Correct way to hide pseudo pages from being shown?
- Htaccess redirect from ‘/%postname%.html’ to ‘/%postname%’
- Redirect to post after submission with Gravity Forms? [closed]
- Stop WordPress Redirection From /keyword to /some-post-containing-keyword/
- Specific URL has 403 Forbidden status code
- Prevent redirect to page/page when reserved term ‘name’ in $_POST when value is a page/post title
- I want to redirect the url to the previous page
- Headers already sent – WordPress core
- Import WordPress Post Slug with Forward Slash
- Create a php callback/endpoint for an OAuth script
- Why specific file directory fails to redirect but its parent folder succeeds?
- Cant Access Website – Changed HTTP to HTTPs
- How to remove “YEAR/MONTH/” from uploads URL & redirect old URL to the new form?
- How to redirect user to a page after form submission
- Too many redirects when using wp super cache [closed]
- How do I redirect a user when he is logged in after clicking on a menu
- header and wp_redirect not working. cannot modify header information warning
- Code to create a redirection after login?
- Redirect 301 www.my-site.com/page/n to www.my-site.com/ [closed]
- Redirect not logged in users if they are on a specific page
- Headless WordPress redirect front-page to login page [closed]
- How to set up a single portfolio page as home page?
- 301 Redirect To Post ID
- Redirect after password update
- How code a redirect back to page from form thanks
- How to add new redirection on wordpress site
- redirecting and showing notice from previous action
- redirect wp-admin/install.php
- Make posts 410 dynamically
- Redirect homepage with htaccess, except if I enter the link adding “/home”
- How to properly encode url with parameters for redirect_to
- Always redirect current user to certain page
- How to redirect to clean links with this code
- How can I make my WordPress site redirect to subdomain once successfully login they will redirect back to root domain
- Redirections and rewrites to subdomain
- Redirect user to previous page after signup from custom form
- 301 Redirect all page and post urls from .html to /
- Get query parameters from external url and make a redirection
- Why does specifying ‘about-us’ as a link target take longer than specifying ‘about-us/’?
- wordpress_redirect returns different headers for HEAD and GET requests
- Usage of the login_redirect filter
- Show different page for first time user
- Login/Register redirect user with message
- wp_login_form redirect problem
- Redirect from ip to domain
- How can I redirect users on the new 404 page without plugin?
- How do I write a subdomain redirect?
- How does WordPress format the url on a 301 when a trailing slash is missing?
- Redirection on domain name
- Redirect only Blog posts to new
- htaccess redirect from specific urls of my site to the homepage
- Can’t make redirect in WordPress
- Unwanted slug in my website
- HTTPS to HTTP rewrite rules not working as expected
- Changing permalinks and redirecting urls
- Preventing Canonical Redirect for CDN
- 301 Redirect /author/username/ to /profile/username/
- Redirection with a wildcard
- Redirect Page ID, based on logged-in User Role
- How can I stop redirecting from a search to a taxonomy archive page
- How to return a 410 code for previously published posts now set to draft?
- htaccess redirect not working for wp-admin/edit in site using proxy
- How to access my wordpress application using two URLs?
- Redirect Pending Review Status Preview page url to custom url
- Debugging issue with redirection in WordPress
- The / location 301-redirects to itself in a loop
- Redirect user from backend to frontend
- Internal Redirections?
- Need to redirect from Apache2 Ubuntu Default Page to home page in wordpress
- WordPress website down with error “redirected you too many times.”
- Make a treatment before the action of the form
- Using cache brokes redirecting
- Is it possible to take a new visitor to the site to a disclaimer page and then return them to their previous page?
- Homepage (domain) that redirects user toward two subdomains based on his/her preferred language
- redirect to another page if user has registered successfully
- Too many redirects error when change of base url
- WordPress redirect users from certain countries to subpage of language version
- When redirecting all URLs to homepage, what exceptions do I need to make?
- Unable to access WP test site
- Custom Login Plugin Redirects to wp-login.php After Site Migration
- Force SSL on a single page which is used as iFrame
- Redirect from subdomain
- New clone of WordPress site 301 redirects back to orginal site
- Show page without reference to post (like front-page)
- How to redirect all pages of a blog to a new blog
- WordPress as a Facebook app
- URL Custom Rewrite
- How to handle expired assets/content when user has direct URL
- Best SEO way to redirect from all “posts” to home url
- Forcing header cache control in 404 pages
- Regex for pdf’s – Old .asp Site folder structure to new WordPress Media Folder(s)
- Create a custom redirect link that tracks the first visited page and after submitting form goes to first page using formidable forms plugin? [closed]
- WordPress not use site url when redirect 301
- Redirect certain 404 pages to parent page