{"id":727,"date":"2022-07-30T12:23:43","date_gmt":"2022-07-30T12:23:43","guid":{"rendered":"https:\/\/zettaflow.tech\/blog\/?p=727"},"modified":"2025-07-13T19:50:09","modified_gmt":"2025-07-13T19:50:09","slug":"visualize-wordpress-blog-data","status":"publish","type":"post","link":"https:\/\/tapegraph.io\/blog\/visualize-wordpress-blog-data\/","title":{"rendered":"Visualize WordPress Blog Data"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/zettaflow.tech\/blog\/wp-content\/uploads\/2022\/07\/WordPress-Blog-Performance-Dashboard-1024x576.png\" alt=\"Zettaflow. Visualize WordPress Blog Data. WordPress Blog Performance Dashboard.\" class=\"wp-image-747\" srcset=\"https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/WordPress-Blog-Performance-Dashboard-1024x576.png 1024w, https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/WordPress-Blog-Performance-Dashboard-300x169.png 300w, https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/WordPress-Blog-Performance-Dashboard-768x432.png 768w, https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/WordPress-Blog-Performance-Dashboard-1536x864.png 1536w, https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/WordPress-Blog-Performance-Dashboard.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em><a href=\"https:\/\/tapegraph.io\/share\/dashboard\/1d1ee3e79c73\/IouZ2Cto7QiQysbos3cvL9j0CHM3rNJFiJvSCuYkpH9axwVn\" target=\"_blank\" rel=\"noreferrer noopener\">Follow the link for the actual dashboard<\/a>. Use the full-screen mode of your browser.<\/em><\/figcaption><\/figure>\n\n\n\n<!--more-->\n\n\n\n<p>If you want to track your WordPress blog performance &#8211; collecting and visualizing data might be a great help.&nbsp;<\/p>\n\n\n\n<p>We have already described the benefits of Visual Dashboards for performance tracking in this article <a href=\"https:\/\/tapegraph.io\/blog\/why-your-business-needs-dashboards\/\" target=\"_blank\" rel=\"noreferrer noopener\">Why Your Business Needs Dashboards<\/a>.<\/p>\n\n\n\n<p>Unfortunately, WordPress does not offer native tools to create visual dashboards, and those few plugins supporting visualizations, normally are able to visualize only the focus data that they process.&nbsp;<\/p>\n\n\n\n<p>In this article, I will describe how you can build a dashboard based on the data stored in the database of your WordPress site. Some basic knowledge of SQL might be required.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to visualize<\/h2>\n\n\n\n<p>To begin with, you need to login into the <a href=\"https:\/\/tapegraph.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">tapegraph<\/a> platform with your Gmail or GitHub account (no charges).<\/p>\n\n\n\n<p>After that, you should add a new working space by clicking the \u2018New space\u2019 button.&nbsp;<\/p>\n\n\n\n<p>Then press \u2018New data source\u2019 to connect to the database of your site. Choose Type as MySQL and fill in the required data.<\/p>\n\n\n<div class=\"wp-block-image is-style-default\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"483\" height=\"645\" src=\"https:\/\/overfetch.com\/blog\/wp-content\/uploads\/2022\/07\/Connect-to-the-database.png\" alt=\"Zettaflow. Visualize WordPress Blog Data. Connect to the database\" class=\"wp-image-729\" style=\"width:384px;height:500px\" srcset=\"https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/Connect-to-the-database.png 483w, https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/Connect-to-the-database-225x300.png 225w\" sizes=\"auto, (max-width: 483px) 100vw, 483px\" \/><\/figure>\n<\/div>\n\n\n<p>After the database is connected, you may view it by selecting it from the menu on the left side.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"877\" height=\"879\" src=\"https:\/\/zettaflow.tech\/blog\/wp-content\/uploads\/2022\/07\/View-the-database.png\" alt=\"Zettaflow. Visualize WordPress Blog Data. View the database\" class=\"wp-image-735\" srcset=\"https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/View-the-database.png 877w, https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/View-the-database-300x300.png 300w, https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/View-the-database-150x150.png 150w, https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/View-the-database-768x770.png 768w\" sizes=\"auto, (max-width: 877px) 100vw, 877px\" \/><figcaption class=\"wp-element-caption\">Database <\/figcaption><\/figure>\n\n\n\n<p>Now you are ready to write your SQL queries. Click \u2018New data\u2019 and go ahead.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"1017\" height=\"381\" src=\"https:\/\/zettaflow.tech\/blog\/wp-content\/uploads\/2022\/07\/SQL-query.png\" alt=\"Zettaflow. Visualize WordPress Blog Data. SQL Query\" class=\"wp-image-738\" srcset=\"https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/SQL-query.png 1017w, https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/SQL-query-300x112.png 300w, https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/SQL-query-768x288.png 768w\" sizes=\"auto, (max-width: 1017px) 100vw, 1017px\" \/><\/figure>\n\n\n\n<p>When you are satisfied with the result of your query, click \u2018New visualization\u2019, in the field Data you need to select created data, chose a type of visualization out of Bar, Histogram, Line, Pie, Scale-up Number, or Scatter, also to fill remaining fields.&nbsp;<\/p>\n\n\n\n<p>This way you may prepare desired visualizations and arrange them in a dashboard. Click \u2018New dashboard\u2019.<\/p>\n\n\n\n<p>Press the \u2018Add\u2019 button, choose the proper item, and adjust the position and size.&nbsp;&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"810\" height=\"786\" src=\"https:\/\/zettaflow.tech\/blog\/wp-content\/uploads\/2022\/07\/Organize-the-Dashboard.png\" alt=\"Zettaflow. Visualize WordPress Blog Data. Organize the dashboard.\" class=\"wp-image-743\" srcset=\"https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/Organize-the-Dashboard.png 810w, https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/Organize-the-Dashboard-300x291.png 300w, https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/Organize-the-Dashboard-768x745.png 768w\" sizes=\"auto, (max-width: 810px) 100vw, 810px\" \/><\/figure>\n\n\n\n<p>Your dashboard is ready. Now you may get and share the link with others (click the \u2018Share\u2019 button).&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">WordPress blog dashboard<\/h2>\n\n\n\n<p>Using the same process I built a <a href=\"https:\/\/tapegraph.io\/share\/dashboard\/1d1ee3e79c73\/IouZ2Cto7QiQysbos3cvL9j0CHM3rNJFiJvSCuYkpH9axwVn\" target=\"_blank\" rel=\"noreferrer noopener\">dashboard for this blog<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/zettaflow.tech\/blog\/wp-content\/uploads\/2022\/07\/WordPress-Blog-Performance-Dashboard-1024x576.png\" alt=\"Zettaflow. Visualize WordPress Blog Data. WordPress Blog Performance Dashboard.\" class=\"wp-image-747\" srcset=\"https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/WordPress-Blog-Performance-Dashboard-1024x576.png 1024w, https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/WordPress-Blog-Performance-Dashboard-300x169.png 300w, https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/WordPress-Blog-Performance-Dashboard-768x432.png 768w, https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/WordPress-Blog-Performance-Dashboard-1536x864.png 1536w, https:\/\/tapegraph.io\/blog\/wp-content\/uploads\/2022\/07\/WordPress-Blog-Performance-Dashboard.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em><a href=\"https:\/\/tapegraph.io\/share\/dashboard\/1d1ee3e79c73\/IouZ2Cto7QiQysbos3cvL9j0CHM3rNJFiJvSCuYkpH9axwVn\" target=\"_blank\" rel=\"noreferrer noopener\">Follow the link for the actual dashboard<\/a><a href=\"https:\/\/zettaflow.tech\/share\/dashboard\/1d1ee3e79c73\/IouZ2Cto7QiQysbos3cvL9j0CHM3rNJFiJvSCuYkpH9axwVn\" target=\"_blank\" rel=\"noopener\">.<\/a> Use the full-screen mode of your browser.<\/em><\/figcaption><\/figure>\n\n\n\n<p>It shows the <strong>total number of posts <\/strong>(as well <strong>by authors<\/strong>) and <strong>media files<\/strong>, <strong>most viewed <\/strong>and <strong>commented posts<\/strong>, <strong>post views<\/strong>, number of <strong>registered users<\/strong>, and number of <strong>comments<\/strong>. The dashboard is real-time.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Queries&nbsp;<\/h2>\n\n\n\n<p>Just sharing some SQL queries that might be helpful.&nbsp;<\/p>\n\n\n\n<p>To build the \u2018Total Posts\u2019 line chart I used the following query:&nbsp;<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><span class=\"dashicon dashicons dashicons-admin-page\"><\/span><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"sql\" data-theme=\"sqlserver\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"false\" data-copy=\"true\">WITH t AS (\n    SELECT\n        DATE_FORMAT(post_date, '%Y') * 12 +\n        DATE_FORMAT(post_date, '%m')\n        AS post_year_month,\n        COUNT(*) AS posts\n    FROM\n        wp_posts        \n    WHERE\n        post_status = 'publish' AND post_type = 'post'\n    GROUP BY\n        post_year_month\n)\nSELECT\n    post_year_month,\n    posts,\n    (\n        SELECT\n            SUM(t2.posts)\n        FROM\n            t as t2\n        WHERE\n            t2.post_year_month &lt;= t.post_year_month\n    ) as posts2    \nFROM\n    t    \nORDER BY\n    post_year_month DESC    \nLIMIT 12<\/pre><\/div>\n\n\n\n<p>For the \u2018Most viewed in 90 days\u2019 visualization (having WordPress Popular Posts plugin installed) the query used is:&nbsp;<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><span class=\"dashicon dashicons dashicons-admin-page\"><\/span><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"sql\" data-theme=\"sqlserver\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"false\" data-copy=\"true\">SELECT\n    post_title,\n    COUNT(pageviews) AS views\nFROM wp_posts\nINNER JOIN wp_popularpostssummary\n    ON wp_popularpostssummary.postid = wp_posts.ID\nWHERE post_type = 'post'AND\n     view_date >= CURDATE() - INTERVAL 90 DAY\nGROUP BY post_title\nORDER BY views DESC\nLIMIT 5<\/pre><\/div>\n\n\n\n<p>If you are willing to fetch the data from your WordPress site to the spreadsheets you may check the following article: <a href=\"https:\/\/tapegraph.io\/blog\/how-to-build-a-real-time-dashboard-with-google-sheets-or-excel-using-wordpress-data\/\" target=\"_blank\" rel=\"noreferrer noopener\">How to Build a Real-Time Dashboard with Google Sheets or Excel Using WordPress Data<\/a>.<\/p>\n\n\n\n<p>If any help is required &#8211; contact us via <a href=\"https:\/\/discord.gg\/nmYfhy2avm\" target=\"_blank\" rel=\"noopener\">Discord<\/a>.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Visualize WordPress data to track your site performance!<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[29,14,28],"tags":[40,6,42,39,7,3,8],"class_list":["post-727","post","type-post","status-publish","format-standard","hentry","category-dashboard-examples","category-visualization","category-how-to-guides","tag-dashboards","tag-googlesheets","tag-how-to","tag-intermediate","tag-sql","tag-visualization","tag-wp"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/tapegraph.io\/blog\/wp-json\/wp\/v2\/posts\/727","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tapegraph.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tapegraph.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tapegraph.io\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tapegraph.io\/blog\/wp-json\/wp\/v2\/comments?post=727"}],"version-history":[{"count":38,"href":"https:\/\/tapegraph.io\/blog\/wp-json\/wp\/v2\/posts\/727\/revisions"}],"predecessor-version":[{"id":1003,"href":"https:\/\/tapegraph.io\/blog\/wp-json\/wp\/v2\/posts\/727\/revisions\/1003"}],"wp:attachment":[{"href":"https:\/\/tapegraph.io\/blog\/wp-json\/wp\/v2\/media?parent=727"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tapegraph.io\/blog\/wp-json\/wp\/v2\/categories?post=727"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tapegraph.io\/blog\/wp-json\/wp\/v2\/tags?post=727"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}