summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/contrib/sitemaps/management/commands/ping_google.py14
-rw-r--r--docs/sitemaps.txt11
2 files changed, 25 insertions, 0 deletions
diff --git a/django/contrib/sitemaps/management/commands/ping_google.py b/django/contrib/sitemaps/management/commands/ping_google.py
new file mode 100644
index 0000000000..afff04b39c
--- /dev/null
+++ b/django/contrib/sitemaps/management/commands/ping_google.py
@@ -0,0 +1,14 @@
+from django.core.management.base import BaseCommand
+from django.contrib.sitemaps import ping_google
+
+
+class Command(BaseCommand):
+ help = "Ping google with an updated sitemap, pass optional url of sitemap"
+
+ def execute(self, *args, **options):
+ if len(args) == 1:
+ sitemap_url = args[0]
+ else:
+ sitemap_url = None
+ ping_google(sitemap_url=sitemap_url)
+
diff --git a/docs/sitemaps.txt b/docs/sitemaps.txt
index eb749dda2f..6a16e61879 100644
--- a/docs/sitemaps.txt
+++ b/docs/sitemaps.txt
@@ -317,3 +317,14 @@ A more efficient solution, however, would be to call ``ping_google()`` from a
cron script, or some other scheduled task. The function makes an HTTP request
to Google's servers, so you may not want to introduce that network overhead
each time you call ``save()``.
+
+Pinging Google via `manage.py`
+------------------------------
+
+**New in Django development version**
+
+Once the sitemaps application is added to your project, you may also
+ping the Google server's through the command line manage.py interface::
+
+ python manage.py ping_google [/sitemap.xml]
+