Search Over 30,000 FREE Plugins from the Official WordPress Plugin Directory Repository

Canonical Attachments

Get more information from analytics and higher rankings by utilizing canonical http headers in htaccess for non image media attachments like pdfs.

This plugin was developed to allow canonical tags to be created for attachment files

The plugin:

  • Generates an htaccess file to manage the wp-content/uploads directory where these files are being uploaded
  • Updates the htaccess file with canonical tags which are delivered via a header when the attachment is called
  • Creates a dashboard where you can easily attach a file to its parent post (one at a time or in bulk) or manually add/remove a canonical tag for a file
  • Allows you to add a canonical url from the media file in the library or when you upload
  • Creates a dashboard to edit the .htacess file directly for the uploads directory in case there are additional files in the directory that were uploaded outside of wordpress (e.g. during a site migration)

The challenge: Analytics software such as Google Analytics, cannot track a user that enters a website via a pdf file in Google search results. Files cannot have a standard canonical tag added in the <head> and instead the canonical tag has to be added via an http header when the file is requested from the server. In order to accomplish this, we need to have an htaccess file listening for a request to that file, and then sending the header.

Expected outcome: PDF files and other attachments will be replaced in search results with the post or page counterparts, and we will be able to measure the traffic to those pages and provide calls to action for downloading the file, submitting contact forms, etc.

Author Jake Bohall -- @hivedigital, @jblifestyles
Contributors hivedigital, jblifestyles
Tags attachments, canonical, canonical tags, canonicalize, doc, media, pdf, powerpoints, ppt
  1. canonical-attachments screenshot 1

    Main menu page offers options for bulk editing or individual editing to create canonicals for attachment files

  2. canonical-attachments screenshot 2

    Editor page for the uploads .htaccess file

  3. canonical-attachments screenshot 3

    Media pages have an input field for the canonical URL

  4. canonical-attachments screenshot 4

    Option to enter canonical url when you upload a file

This section describes how to install the plugin and get it working.

  1. Upload to the /wp-content/plugins/ directory
  2. Activate the plugin through the 'Plugins' menu in WordPress
  3. Enjoy!


  • Security update for $_Post data


  • Fixing function names with prefix
  • More security updates
  • Addressing issue with file location requests to allow for non-standard installs


  • Polishing plugin for submission to wordpress repository
  • Security Fix: Requiring nonces for form submissions


  • Bug Fix: Delete canonical when media file is deleted
  • Security Fix: Checks user permissions for access to bulk editing tools


  • Initial plugin creation

Will this work on wordpress installs that do not use apache server

No. This plugin only works for wordpress installations on servers running apache, as it is depending on writing the rules to the .htaccess file.

Do I have to manually create the .htaccess file in the uploads directory?

The plugin will need to be able to write to the directory in order to work. When you install the plugin, it will create the .htaccess file with the proper permissions.

What happens to the .htaccess file if I uninstall the plugin

As there may be other items in the htaccess file that are important, uninstalling this plugin does not remove the .htaccess file. You will have to do this manually. It is important to note that uninstalling this plugin does not remove any content of the htaccess file. If you wish to remove canonicals, you should use the bulk editor or manually edit the .htaccess file using the editor option. When you remove by manually editing the htaccess file, the associations will still exist in the wordpress database as an option for that media item, but since they are not in the .htaccess file, they will be "useless". This is why it is recommended to use the bulk editor vs. editing htaccess directly.

Why is there an option to edit the .htaccess directly?

In some instances there may be files outside of wordpress's database that you wish to canonical, so we wanted to make it accessible for adding those items. The most likely case for this would be if you migrated to wordpress and manually moved a directory or files into the uploads folder vs. uplaoding through wordpress. Future iterations of this plugin might include a way to better manage non wordpress linked media files.

Some of my media files aren't attached to a post, what happened?

This has nothing to do with our plugin, but occurs when you upload media files when you are not editing / creating a post. The wordpress library has a filter for unattached media items, and you can attach them manually there. Our editor does not require the media item be attached to a post, it just makes it possible to use the bulk feature to attach vs. having to do it one at a time.

Who built this awesome plugin?

This plugin was developed by the good folks at Hive Digital

Future Features and Development

Based on the feedback, we hope to continue developing additional features to support user requests. Current future feature ideas include:

  • Automatic canonicalization of non-image files to attached post
  • Integration with non-apache servers
  • Canonical builder for non-wordpress media files
  • Option to bulk delete canonical associations and delete htaccess on uninstall
Version 1.2

Requires WordPress version: 4.5.1 or higher

Compatible up to: 4.7.2

Last Updated 22 Jan 2017

Date Added: 22 Jan 2017


5 stars
1 ratings


Not Enough Data

Works: 0
Broken: 0