***************
Wagtail Metrics
***************
.. image:: https://img.shields.io/pypi/v/wagtail_metrics
:target: https://pypi.org/project/wagtail_metrics/
.. image:: https://img.shields.io/pypi/pyversions/wagtail_metrics
:target: https://pypi.org/project/wagtail_metrics/
Wagtail Metrics allows you to retrieve information about Wagtail pages.
Information providers for Wagtail pages are :
- **wagtail_page** : retrieves all fields and blocks
- **request** : get the HTTP status code of Wagtail pages
- **google_page_speed** : collects scores on performance, accessibility, best practices and SEO
Usage
#####
You can use Wagtail Metrics like this :
.. code-block:: python
from wagtail.core.models import Site
from wagtail_metrics.checkup import Checkup
checkup = Checkup(providers=[
'wagtail_page',
'request',
'google_page_speed'
])
for site in Site.objects.all():
checkup.add_site(site)
checkup_json = checkup.to_json()
**checkup_json** is equal to :
.. code-block::
{
"stream_field__block__title": {
"counter": 3,
"values": {
"generic title": {
"counter": 3,
"pages": [
"https://www.snoweb.io/fr/",
"https://www.snoweb.io/fr/cms/",
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"stream_field__block__description": {
"counter": 3,
"values": {
"different description 1": {
"counter": 1,
"pages": [
"https://www.snoweb.io/fr/"
]
},
"different description 2": {
"counter": 1,
"pages": [
"https://www.snoweb.io/fr/cms/"
]
},
"different description 3": {
"counter": 1,
"pages": [
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"locale": {
"counter": 3,
"values": {
"french": {
"counter": 3,
"pages": [
"https://www.snoweb.io/fr/",
"https://www.snoweb.io/fr/cms/",
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"title": {
"counter": 3,
"values": {
"Home": {
"counter": 1,
"pages": [
"https://www.snoweb.io/fr/"
]
},
"CMS": {
"counter": 1,
"pages": [
"https://www.snoweb.io/fr/cms/"
]
},
"Wagtail": {
"counter": 1,
"pages": [
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"slug": {
"counter": 3,
"values": {
"home": {
"counter": 1,
"pages": [
"https://www.snoweb.io/fr/"
]
},
"cms": {
"counter": 1,
"pages": [
"https://www.snoweb.io/fr/cms/"
]
},
"wagtail": {
"counter": 1,
"pages": [
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"live": {
"counter": 3,
"values": {
"true": {
"counter": 3,
"pages": [
"https://www.snoweb.io/fr/",
"https://www.snoweb.io/fr/cms/",
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"owner": {
"counter": 3,
"values": {
"none": {
"counter": 3,
"pages": [
"https://www.snoweb.io/fr/",
"https://www.snoweb.io/fr/cms/",
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"seo_title": {
"counter": 3,
"values": {
"": {
"counter": 3,
"pages": [
"https://www.snoweb.io/fr/",
"https://www.snoweb.io/fr/cms/",
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"show_in_menus": {
"counter": 3,
"values": {
"false": {
"counter": 3,
"pages": [
"https://www.snoweb.io/fr/",
"https://www.snoweb.io/fr/cms/",
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"search_description": {
"counter": 3,
"values": {
"": {
"counter": 3,
"pages": [
"https://www.snoweb.io/fr/",
"https://www.snoweb.io/fr/cms/",
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"first_published_at": {
"counter": 3,
"values": {
"none": {
"counter": 3,
"pages": [
"https://www.snoweb.io/fr/",
"https://www.snoweb.io/fr/cms/",
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"last_published_at": {
"counter": 3,
"values": {
"none": {
"counter": 3,
"pages": [
"https://www.snoweb.io/fr/",
"https://www.snoweb.io/fr/cms/",
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"char_field": {
"counter": 3,
"values": {
"Test char field": {
"counter": 3,
"pages": [
"https://www.snoweb.io/fr/",
"https://www.snoweb.io/fr/cms/",
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"request__status_code": {
"counter": 3,
"values": {
"200": {
"counter": 3,
"pages": [
"https://www.snoweb.io/fr/",
"https://www.snoweb.io/fr/cms/",
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"google_page_speed__performance": {
"counter": 3,
"values": {
"99": {
"counter": 1,
"pages": [
"https://www.snoweb.io/fr/"
]
},
"84": {
"counter": 1,
"pages": [
"https://www.snoweb.io/fr/cms/"
]
},
"75": {
"counter": 1,
"pages": [
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"google_page_speed__accessibility": {
"counter": 3,
"values": {
"95": {
"counter": 3,
"pages": [
"https://www.snoweb.io/fr/",
"https://www.snoweb.io/fr/cms/",
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"google_page_speed__best_practices": {
"counter": 3,
"values": {
"100": {
"counter": 3,
"pages": [
"https://www.snoweb.io/fr/",
"https://www.snoweb.io/fr/cms/",
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"google_page__speed_seo": {
"counter": 3,
"values": {
"100": {
"counter": 3,
"pages": [
"https://www.snoweb.io/fr/",
"https://www.snoweb.io/fr/cms/",
"https://www.snoweb.io/fr/cms/wagtail/"
]
}
}
},
"stream_field__block_never_used__title": {
"counter": 0,
"values": {}
}
}
Setup
#####
Install with pip :
.. code-block::
pip install wagtail_metrics
Set if needed in Django settings :
.. code-block::
# Default value
WAGTAIL_METRICS_DEFAULT_EXCLUDE = [
'sites_rooted_here',
'aliases',
'revisions',
'group_permissions',
'view_restrictions',
'workflow_states',
'wagtail_admin_comments',
'subscribers',
'id',
'path',
'depth',
'numchild',
'translation_key',
'draft_title',
'has_unpublished_changes',
'url_path',
'go_live_at',
'expire_at',
'expired',
'locked',
'locked_at',
'locked_by',
'latest_revision_created_at',
'live_revision',
'alias_of',
'page_ptr',
'index_entries',
'content_type'
]
WAGTAIL_METRICS_INDENT_JSON = 4
# For Google page speed
WAGTAIL_METRICS_GOOGLE_API_KEY = 'xxx'
Raw data
{
"_id": null,
"home_page": "https://github.com/Aleksi44/wagtail-metrics",
"name": "wagtail-metrics",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "wagtail metrics",
"author": "Alexis Le Baron",
"author_email": "hello@snoweb.io",
"download_url": "https://files.pythonhosted.org/packages/82/31/b0701cd7a35930ab8b9707d39a249edc04d91f88dcb080f1cb73e8d7c215/wagtail_metrics-0.0.11.tar.gz",
"platform": "linux",
"description": "***************\nWagtail Metrics\n***************\n\n.. image:: https://img.shields.io/pypi/v/wagtail_metrics\n :target: https://pypi.org/project/wagtail_metrics/\n\n.. image:: https://img.shields.io/pypi/pyversions/wagtail_metrics\n :target: https://pypi.org/project/wagtail_metrics/\n\nWagtail Metrics allows you to retrieve information about Wagtail pages.\n\nInformation providers for Wagtail pages are :\n\n- **wagtail_page** : retrieves all fields and blocks\n- **request** : get the HTTP status code of Wagtail pages\n- **google_page_speed** : collects scores on performance, accessibility, best practices and SEO\n\nUsage\n#####\n\nYou can use Wagtail Metrics like this :\n\n.. code-block:: python\n\n from wagtail.core.models import Site\n from wagtail_metrics.checkup import Checkup\n\n checkup = Checkup(providers=[\n 'wagtail_page',\n 'request',\n 'google_page_speed'\n ])\n for site in Site.objects.all():\n checkup.add_site(site)\n checkup_json = checkup.to_json()\n\n**checkup_json** is equal to :\n\n.. code-block::\n\n {\n \"stream_field__block__title\": {\n \"counter\": 3,\n \"values\": {\n \"generic title\": {\n \"counter\": 3,\n \"pages\": [\n \"https://www.snoweb.io/fr/\",\n \"https://www.snoweb.io/fr/cms/\",\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"stream_field__block__description\": {\n \"counter\": 3,\n \"values\": {\n \"different description 1\": {\n \"counter\": 1,\n \"pages\": [\n \"https://www.snoweb.io/fr/\"\n ]\n },\n \"different description 2\": {\n \"counter\": 1,\n \"pages\": [\n \"https://www.snoweb.io/fr/cms/\"\n ]\n },\n \"different description 3\": {\n \"counter\": 1,\n \"pages\": [\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"locale\": {\n \"counter\": 3,\n \"values\": {\n \"french\": {\n \"counter\": 3,\n \"pages\": [\n \"https://www.snoweb.io/fr/\",\n \"https://www.snoweb.io/fr/cms/\",\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"title\": {\n \"counter\": 3,\n \"values\": {\n \"Home\": {\n \"counter\": 1,\n \"pages\": [\n \"https://www.snoweb.io/fr/\"\n ]\n },\n \"CMS\": {\n \"counter\": 1,\n \"pages\": [\n \"https://www.snoweb.io/fr/cms/\"\n ]\n },\n \"Wagtail\": {\n \"counter\": 1,\n \"pages\": [\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"slug\": {\n \"counter\": 3,\n \"values\": {\n \"home\": {\n \"counter\": 1,\n \"pages\": [\n \"https://www.snoweb.io/fr/\"\n ]\n },\n \"cms\": {\n \"counter\": 1,\n \"pages\": [\n \"https://www.snoweb.io/fr/cms/\"\n ]\n },\n \"wagtail\": {\n \"counter\": 1,\n \"pages\": [\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"live\": {\n \"counter\": 3,\n \"values\": {\n \"true\": {\n \"counter\": 3,\n \"pages\": [\n \"https://www.snoweb.io/fr/\",\n \"https://www.snoweb.io/fr/cms/\",\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"owner\": {\n \"counter\": 3,\n \"values\": {\n \"none\": {\n \"counter\": 3,\n \"pages\": [\n \"https://www.snoweb.io/fr/\",\n \"https://www.snoweb.io/fr/cms/\",\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"seo_title\": {\n \"counter\": 3,\n \"values\": {\n \"\": {\n \"counter\": 3,\n \"pages\": [\n \"https://www.snoweb.io/fr/\",\n \"https://www.snoweb.io/fr/cms/\",\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"show_in_menus\": {\n \"counter\": 3,\n \"values\": {\n \"false\": {\n \"counter\": 3,\n \"pages\": [\n \"https://www.snoweb.io/fr/\",\n \"https://www.snoweb.io/fr/cms/\",\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"search_description\": {\n \"counter\": 3,\n \"values\": {\n \"\": {\n \"counter\": 3,\n \"pages\": [\n \"https://www.snoweb.io/fr/\",\n \"https://www.snoweb.io/fr/cms/\",\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"first_published_at\": {\n \"counter\": 3,\n \"values\": {\n \"none\": {\n \"counter\": 3,\n \"pages\": [\n \"https://www.snoweb.io/fr/\",\n \"https://www.snoweb.io/fr/cms/\",\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"last_published_at\": {\n \"counter\": 3,\n \"values\": {\n \"none\": {\n \"counter\": 3,\n \"pages\": [\n \"https://www.snoweb.io/fr/\",\n \"https://www.snoweb.io/fr/cms/\",\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"char_field\": {\n \"counter\": 3,\n \"values\": {\n \"Test char field\": {\n \"counter\": 3,\n \"pages\": [\n \"https://www.snoweb.io/fr/\",\n \"https://www.snoweb.io/fr/cms/\",\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"request__status_code\": {\n \"counter\": 3,\n \"values\": {\n \"200\": {\n \"counter\": 3,\n \"pages\": [\n \"https://www.snoweb.io/fr/\",\n \"https://www.snoweb.io/fr/cms/\",\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"google_page_speed__performance\": {\n \"counter\": 3,\n \"values\": {\n \"99\": {\n \"counter\": 1,\n \"pages\": [\n \"https://www.snoweb.io/fr/\"\n ]\n },\n \"84\": {\n \"counter\": 1,\n \"pages\": [\n \"https://www.snoweb.io/fr/cms/\"\n ]\n },\n \"75\": {\n \"counter\": 1,\n \"pages\": [\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"google_page_speed__accessibility\": {\n \"counter\": 3,\n \"values\": {\n \"95\": {\n \"counter\": 3,\n \"pages\": [\n \"https://www.snoweb.io/fr/\",\n \"https://www.snoweb.io/fr/cms/\",\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"google_page_speed__best_practices\": {\n \"counter\": 3,\n \"values\": {\n \"100\": {\n \"counter\": 3,\n \"pages\": [\n \"https://www.snoweb.io/fr/\",\n \"https://www.snoweb.io/fr/cms/\",\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"google_page__speed_seo\": {\n \"counter\": 3,\n \"values\": {\n \"100\": {\n \"counter\": 3,\n \"pages\": [\n \"https://www.snoweb.io/fr/\",\n \"https://www.snoweb.io/fr/cms/\",\n \"https://www.snoweb.io/fr/cms/wagtail/\"\n ]\n }\n }\n },\n \"stream_field__block_never_used__title\": {\n \"counter\": 0,\n \"values\": {}\n }\n }\n\nSetup\n#####\n\nInstall with pip :\n\n.. code-block::\n\n pip install wagtail_metrics\n\nSet if needed in Django settings :\n\n.. code-block::\n\n # Default value\n WAGTAIL_METRICS_DEFAULT_EXCLUDE = [\n 'sites_rooted_here',\n 'aliases',\n 'revisions',\n 'group_permissions',\n 'view_restrictions',\n 'workflow_states',\n 'wagtail_admin_comments',\n 'subscribers',\n 'id',\n 'path',\n 'depth',\n 'numchild',\n 'translation_key',\n 'draft_title',\n 'has_unpublished_changes',\n 'url_path',\n 'go_live_at',\n 'expire_at',\n 'expired',\n 'locked',\n 'locked_at',\n 'locked_by',\n 'latest_revision_created_at',\n 'live_revision',\n 'alias_of',\n 'page_ptr',\n 'index_entries',\n 'content_type'\n ]\n WAGTAIL_METRICS_INDENT_JSON = 4\n # For Google page speed\n WAGTAIL_METRICS_GOOGLE_API_KEY = 'xxx'\n\n\n",
"bugtrack_url": null,
"license": "GPL-3.0",
"summary": "Wagtail Metrics",
"version": "0.0.11",
"project_urls": {
"Homepage": "https://github.com/Aleksi44/wagtail-metrics"
},
"split_keywords": [
"wagtail",
"metrics"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c76ae5ec9bd8edc776c5eb9f2defa1c92c92b693132cbe8498cef9bbb06e7930",
"md5": "7a7c0e4e0e48551b1ca6aadc9abc74ec",
"sha256": "e4287a93a8e3a588c1c76d664e661cf482882fa6a4e21c62af94a26eda5b1681"
},
"downloads": -1,
"filename": "wagtail_metrics-0.0.11-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7a7c0e4e0e48551b1ca6aadc9abc74ec",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 27666,
"upload_time": "2023-07-10T15:34:48",
"upload_time_iso_8601": "2023-07-10T15:34:48.519069Z",
"url": "https://files.pythonhosted.org/packages/c7/6a/e5ec9bd8edc776c5eb9f2defa1c92c92b693132cbe8498cef9bbb06e7930/wagtail_metrics-0.0.11-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8231b0701cd7a35930ab8b9707d39a249edc04d91f88dcb080f1cb73e8d7c215",
"md5": "d8a46130c4257757af9b0efddb7600e2",
"sha256": "3cddd8de10f5d3b883a916cafa7fa15e63b605d96909f61a79000df914d16db0"
},
"downloads": -1,
"filename": "wagtail_metrics-0.0.11.tar.gz",
"has_sig": false,
"md5_digest": "d8a46130c4257757af9b0efddb7600e2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 24606,
"upload_time": "2023-07-10T15:34:50",
"upload_time_iso_8601": "2023-07-10T15:34:50.399625Z",
"url": "https://files.pythonhosted.org/packages/82/31/b0701cd7a35930ab8b9707d39a249edc04d91f88dcb080f1cb73e8d7c215/wagtail_metrics-0.0.11.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-10 15:34:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Aleksi44",
"github_project": "wagtail-metrics",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "Django",
"specs": [
[
"==",
"4.0.2"
]
]
},
{
"name": "wagtail",
"specs": [
[
"==",
"5.0.2"
]
]
},
{
"name": "flake8",
"specs": [
[
"==",
"4.0.1"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.27.1"
]
]
},
{
"name": "django-environ",
"specs": [
[
"==",
"0.8.1"
]
]
}
],
"lcname": "wagtail-metrics"
}