Skip to main content

Django app for Heroku users designed to hide your *.herokuapp.com from search engine results.

Use case

You want to develop a website called artisanalraisinbeer.com using Django deployed on Heroku. You write a little bit of Django code and create a new Heroku app called artisanalraisinbeer to deploy to.

While developing, you can visit your site by going to this URL: http://artisanalraisinbeer.herokuapp.com

Eventually, you finish the first version of your website, buy the domain name artisanalraisinbeer.com, and set everything up so that you can view the site just by going to the following URL: http://www.artisanalraisinbeer.com

You can still visit http://artisanalraisinbeer.herokuapp.com, which is fine—but there’s one problem: you want your main site to show up in search results, not your .herokuapp.com site.

How it works

This app goes about this two ways: robots.txt and the X-Robots-Tag. Why both? To be double-plus sure… :eyes:

If herokuapp seems to be in the originating host of the user request, then we do two things:

  • Put the following in robots.txt:

    User-agent: *
    Disallow: /
  • Set X-Robots-Tag in our response header to noindex, nofollow.

For search engines that respect these settings, they should start to ignore these sites in future crawls.

Quick start

  1. Add 'hide_herokuapp' to your INSTALLED_APPS setting.

  2. Add the HideHerokuappFromRobotsMiddleware middleware to your MIDDLEWARE_CLASSES like this:

    MIDDLEWARE_CLASSES = (
        ...
        'hide_herokuapp.middleware.HideHerokuappFromRobotsMiddleware',
    )
  3. Include the hide_herokuapp URLs in your project’s urls.py like this:

    urlpatterns = [
       ...
       url(r'^', include('hide_herokuapp.urls')),
       ...
    ]

    alternatively, you may hook up the view directly:

    from hide_herokuapp.views import herokuapp_robots_view
    
    urlpatterns = [
      ...
      url(r'^robots\.txt$', herokuapp_robots_view),
      ...
    ]

Contribute

PyPI (Downloads)

https://pypi.python.org/pypi/django-hide-herokuapp

Official repository

https://github.com/isms/django-hide-herokuapp

Issue tracker

https://github.com/isms/django-hide-herokuapp/issues

Release files for django-hide-herokuapp 0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-hide-herokuapp 0.4
File Size Uploaded
django-hide-herokuapp-0.4.tar.gz 4.8 kB Details

Release files / django-hide-herokuapp-0.4.tar.gz

Download URL django-hide-herokuapp-0.4.tar.gz
Size 4.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c198ba99a18336f775a09cad36ec8ea4ec7d924827d25af28777f342dcdbb51a
BLAKE2b-256 checksum
How to use checksums
924a43f5c2bcb557b2340b5298d05d1ad3ccf7eeb2d6e18a20136c7927b8da47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.4 This release

1 release file

0.3

1 release file

0.2

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page