Make WordPress Core

Opened 15 years ago

Last modified 7 years ago

#20283 new enhancement

Create new variable or function in $wp_query object to get canonical URL of any site's page

Reported by: egorpromo Owned by:
Priority: normal Milestone:
Component: Canonical Version: 3.3.1
Severity: normal Keywords: needs-patch dev-feedback
Cc: Focuses:

Description

For the sake of Search Engine Optimization it's recommended to set canonical URL inside <link rel='canonical'> tag in any site's page. Incorrect URL can exist in search engine index. For example: ​http://example.com?some_param=some_val&cat=3,4. URL points to categories with id equals 3 and 4, but we have another unnecessary parameter 'some_param'. It's malicious! We must set canonical URL to ​http://example.com?cat=3,4.
So It's advance to have canonical URL generated some way. I propose to set function or variable inside WP_Query class to retrieve canonical URL to any opened page.

In WP_Query we have variable WP_Query::query which consists of all necessary parameters for that propose. But we must use $wp_rewrites also.
Any thoughts?

Change History (4)

#1 @egorpromo
15 years ago

For single posts it is possible to get canonical URL by used get_permalink() function or if we have paged post by used ​some function that will be in future versions.

For any archive page there is no decision. It is possible to use get_pagenum_link() function in way like get_pagenum_link($wp_query->query_vars[ "paged" ]), but it is odd. If we have URL with unnecessary parameter like ​http://example.com/?cat=3&some_param=some_var (‘some_param’ is odd and unnecessary parameter) it makes parameter will be in every another page like ​http://example.com/?cat=3&some_param=some_var&paged=2 for example.

Conclusion. Now we can retrieve canonical URL for single post (or single page or single attachment) only.

Last edited 15 years ago by egorpromo (previous) (diff)

#3 @chriscct7
12 years ago

  • Keywords needs-patch dev-feedback added
Note: See TracTickets for help on using tickets.