I am changing my site from Drupal to WordPress. There are many articles written.
Every article has url like given below.
http://example.com/blog/simple-post
How can I achieve this in WordPress.
For now I am using.
http://example.com/simple-post/
you can set it up in settings->permalink and set the option to custom type, then you add this type of permalink : /%category%/%postname%/ instead of just /%postname%/
Then you just assign any category to your posts, like blog, shop, portfolio, team etc whatever you want without having to worry how to set that permalink for lets say two, three types of urls
If you want to keep the exact same URL structure, look at "Permalinks" under the "Settings" option in the admin section.
You can set a custom permalink structure like:
/blog/%postname%/
Edit permalinks in wordpress settings page
Custom Structure http://example.com /blog/%postname%/
If you need category in url
Custom Structure http://example.com /blog/%category%/%postname%/
Related
I have a worpdress website that is set with a permalink structure to:
mywebsite.com/%author%/%postname%/
Now, I have a post that is written by multiple authors - what we wanted to achieve is that we should suppose to be able to access the post by going to any of the author in the url such as:
mywebsite.com/author1/mypost
mywebsite.com/author2/mypost
This actually works, however for some reason when I go to:
mywebsite.com/author2/mypost
this redirects to this:
mywebsite.com/author1/mypost
I think this is due to the base permalink wordpress enforces?
How do I make it so that when I go to the link of a certain author, it will retain the author in the permalink?
eg.
Going to mywebsite.com/author2/mypost should direct to mywebsite.com/author2/mypost
I did a great amount of research and came across some solutions like this:
https://wordpress.stackexchange.com/questions/106042/force-wordpress-to-show-pages-instead-of-category
But still it isn't exactly what I'm looking for. First of all let me explain the problem.
I made a page /blog/ and a category 'blog' both make use of the permalink /blog/, disabled the /category/ permalink so the SEO will be correct.
The solutions I came across didn't match the following requirements:
Not using 301 redirects
Disable the /category/ use within Wordpress.
Also make it possible to only replace category when a page id uses the same slug.
I simply like to tell Wordpress to display the page instead of the category.
Why don't you just edit the category template?
Because the page I created uses Visual Composer (Post Masonry Grid) so I can't simple move the design.
Why don't you just use redirects?
I would like to but the permalink of the blog is the same as the page (SEO purpose.)
I know it's a few years later with no solution, but I had the exact same problem you described on one site that was working in other sites. So I did some research on what was different and to help others should they run into the same issue.
Background
example.com is the domain
I have a WP page called "foobar" with content
I have a WP post category called "foobar"
I have a WP post entitled "fun things to do with foobars", and the category is set to "foobar"
Expectations
When I go to example.com/foobar, I want to see the page about foobars, not a WP category page that shows all blog posts with that category.
When I go to the blog post about fun things, the URL is example.com/foobar/fun-things-to-do-with-foobars/
Setup
Here's my setup (it does not require any additional plugins or code edits)
A couple of installed plugins are WP Rocket and Yoast on which I'll focus in this thread.
WP Dashboard->Settings->Permalinks
Select "Custom Structure" and enter /%category%/%postname%/ in the field
On the same page, change "Category base" to a single dot. "." (no quotes, just a single dot/period/full stop
I have Yoast installed, which I had set up to override the permalink settings, but I believe this messed up my task at hand.
WP Dashboard->SEO->Advanced->Permalinks(tab)
"Change URLs->Strip the category base..." = Keep
Then you need to clear the cache. I use WP Rocket for caching, so I flushed the cache and everything now works the way it should.
Edit: make sure you save your changes after steps 3 and 5
I know this topic is old but question is still important.
I will use blog example.
This method is code free, WP native solution. One caveat is that you cannot translate "blog" slug, so this method is only for one language if you don't need to have different words/slugs for other languages.
Create page with slug "blog". Or whatever you like. It must match word you put in next step as base: blog = blog it this example.
Set permalink structure in settings to: /blog/%category/%postname%/ (/ trailing slash on the end is your preference)
Use SEO plugin like Yoast or Seopress Pro (or any other
method) to remove /category from URL.
Go to Settings -> Reading -> "Your homepage displays" section -> "A static page (select below)"
Set your static page for Homepage
Here is the magic: set Posts page to your "Blog" page.
Flush permalinks by visiting and saving settings on Permalink page (without any change).
Then you will get proper URL: /blog/yourcategory/single-post-title/
Breadcrumbs will work, all categories will be hierarchical, and /blog will work as page instead of category.
Most importantly, when you go to your category page you will get /blog/yourcategory URL and it will work as archive page. When you visit single post, then also you get URL /blog/yourcategory/single-post-title/
Breadcrumbs from Yoast should work. I use Seopress Pro and breadcrumbs works like a charm (you have to go to breadcrumbs setting page and select categories for posts and posts for categories and tags if you need them).
If you do it without including /blog in your permalink setting it will still work, you will get page instead of category with proper url for categories, but single post will be /yourcategory/single-post-title.
I am using this theme: http://www.eleventhemes.com/gridly/
In order for the pages to only show certain posts on certain pages it requires the category folder in front of the slug so if I have a page called graphic-design it has to be accessed this way: domain.com/category/graphic-design. When I go to edit the page in WP it automatically removes the / after the word category.
How can I add a folder name in front of the page name?
That sounds like a bug in the theme. My first guess is that there's a naming collision. I believe "category" is the slug Wordpress uses for displaying post categories, while the theme is trying to use "category" to rewrite page permalinks.
As an experiment, try editing Wordpress' built-in Category base option.
Try going to Dashboard > Settings > Permalinks, and at the bottom under "Category base" set the field to something besides "category", like "mycats" or whatever. For fun try setting it to "category" explicitly and see what happens.
I need to change the customized URl of wordpress, where I pass the id in querystring to get data from my custom table. Now i want to see the title instead of that id.
Ex. My site link id http://xyz.com/?page_id=1&pid=12
Now if i try the wordpress permalink it will convert the wp page only like http://xyz.com/test?pid=12
What can i do to make the URl like http://xyz.com/test/title. Where title is stored in database for pid=12.
Yes this is possible and actually pretty easy. Go to /wp-admin/options-permalink.php and look for the custom option that you want. You must have access to the server to update the .htaccess file. Here is more info.
if you want the name of your page to appear as in:
http://www.xyz.com/about/
instead of something like:
http://www.xyz.com/?page_id=398
login to your back end of wordpress
under the settings menu(on left side) click permalinks
click custom structure and in the text field type in:
/%postname%/
I am trying to achieve a custom URL structure with Wordpress. Basically, my site functions as my blog and my portfolio. I want to have an "Articles" section and a "Portfolio" section. I want the articles to display on the Articles page, and the portfolio on the Portfolio page. Should be easy, except on top of that I want custom URLs...
I want the URLs setup like this:
Articles page:
http://mydomain.com/discusses
Specific article:
http://mydomain.com/discussed/%postname%
Portfolio page:
http://mydomain.com/does
Specific design:
http://mydomain.com/designed/%postname%
I can figure out how to do only one rewrite of this type, but WP doesn't have built in functionality to do both. I'm just wondering where I should start or what I should do...
The problem also becomes, I want to retain category functionality in both areas, so maybe it needs to be achieved with Custom Fields? and add a new rewrite rule based on the custom field of a post? I have idea where to start...
Thanks for any help you can give.
This actually isn't that hard to do. I'll go down, page by page, what you would need to do to achieve this.
Articles Page
Create a new template in your theme folder (/wp-content/themes/your-theme/) called discusses.php and just add the following content:
<?php
/*
Template Name: Discusses Template
*/
?>
You don't need any more content. Go into the Pages section of WordPress Admin and create a new page called Articles page and set the URL to be /discusses/. Set the template of this page to be Discusses Template. Now, go into the Settings → Reading section in Admin and set the Posts page to Articles page. Now all your blog posts will appear under the URL /discusses/
Specific Article
The easiest way to have all your articles appearing as /discussed/title is to rename the default category (in Posts → Categories) to discussed. Then set your permalinks to be:
/%category%/%postname%/
This will render the links you need for each post.
Portfolio Page & Specific Design Page
Assuming this will be some kind of custom design, the easiest thing to do would be to create a custom template and Page in the pages section, as you did for the articles page, and throw your custom HTML and CSS into that. I would then set each specific design page to be a child page of that in the pages section. You can use the WPdb classs to make custom queries to populate the Portfolio page.