{"id":3311,"date":"2021-07-22T15:55:00","date_gmt":"2021-07-22T14:55:00","guid":{"rendered":"https:\/\/www.gironi.it\/blog\/?p=3311"},"modified":"2026-07-22T11:24:35","modified_gmt":"2026-07-22T10:24:35","slug":"multiple-regression-analysis-explained-simply","status":"publish","type":"post","link":"https:\/\/www.gironi.it\/blog\/en\/multiple-regression-analysis-explained-simply\/","title":{"rendered":"Multiple Regression Analysis, Explained Simply"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Does content length help ranking? Do backlinks bring traffic? Do faster pages convert better?<br>Taken one at a time, these questions almost always get the same lazy answer: &#8220;yes, a bit&#8221;. The trouble is that in the real world factors never arrive one at a time. Long pages also tend to attract more links; pages with more links are often the most carefully made, and maybe the slowest too. Everything moves together, and the question that really matters is a different one: *<em>which of these factors weighs on traffic <\/em>net of<em> the others?<\/em>*<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We saw, talking about <a href=\"https:\/\/www.gironi.it\/blog\/en\/correlation\/\">correlation<\/a>, that we can measure how much two variables move together; and with <a href=\"https:\/\/www.gironi.it\/blog\/en\/correlation-and-regression-analysis-linear-regression\/\">simple linear regression<\/a> that we can use one to predict the other.<br>But one correlation at a time is blind to the tangle: it risks handing the same medal to a factor and to its companion, without being able to tell them apart. It is the doorway to a trap we already know, <a href=\"https:\/\/www.gironi.it\/blog\/en\/simpsons-paradox-in-seo-when-aggregate-data-can-lie\/\">Simpson&#8217;s paradox<\/a>: an association that flips sign or vanishes as soon as we account for a third variable. Multiple regression is the tool that tackles precisely this head-on \u2014 many causes together, each measured while holding the others fixed.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What we will cover<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"#why-multiple\">Why one correlation at a time is not enough<\/a><\/li><li><a href=\"#equation\">The equation: many causes, one effect<\/a><\/li><li><a href=\"#example\">An example: what drives a page&#8217;s traffic<\/a><\/li><li><a href=\"#coefficients\">Reading the coefficients: who really matters<\/a><\/li><li><a href=\"#validity\">How valid is the model?<\/a><\/li><li><a href=\"#try-it\">Try it yourself<\/a><\/li><li><a href=\"#further-reading\">Further reading<\/a><\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"why-multiple\">Why one correlation at a time is not enough<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Suppose we measure, on our own site, the correlation between content length and the traffic pages receive. We will almost certainly find it positive: longer pages get more traffic.<br>The temptation, at that point, is every hurried consultant&#8217;s shortcut: &#8220;I&#8217;ll write longer and traffic will rise&#8221;. But that correlation, on its own, does not tell us <em>why<\/em> long pages do better. Do they do better because they are long, or because \u2014 being long and well made \u2014 they have collected more <em>backlinks<\/em> over the years, and it is the links that bring the traffic?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These are two completely different stories, with two opposite action plans, and the correlation between traffic and length blends them into a single number. To separate them we need to be able to ask: <em>holding backlinks fixed<\/em>, does length still matter?<br>That is exactly the question multiple regression can answer. <strong>Multiple regression does not measure whether a factor is associated with the outcome, but how much it contributes once all the others are held fixed<\/strong>: it is the difference between looking at the world one variable at a time and looking at it as a whole.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"equation\">The equation: many causes, one effect<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The shape of the equation is the natural expansion of the simple-regression one: instead of a single predictor we put in several, each with its own coefficient. We want to explain a <em>response<\/em> variable (unique) from a set of <em>predictor<\/em> variables:<\/p>\n\n\n\n\\( y = b + a_1 x_1 + a_2 x_2 + \\dots + a_k x_k \\\\ \\)\n\n\n\n<p class=\"wp-block-paragraph\">where \\( y \\) is the variable we want to explain (traffic), \\( x_1, x_2, \\dots, x_k \\) are the predictors (length, backlinks, speed), \\( a_1, a_2, \\dots, a_k \\) are the <strong>regression coefficients<\/strong> and \\( b \\) is the intercept.<br>The heart of it all is the meaning of each \\( a_i \\): it is how much \\( y \\) changes when \\( x_i \\) increases by one unit <strong>and all the other variables stay constant<\/strong>. That &#8220;stay constant&#8221; is the magic \u2014 and the responsibility \u2014 of the method: it is there that the separation of effects happens, the very effects that stay tangled to the naked eye.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In other terms: multiple regression simultaneously estimates the contribution of each factor, cleansed of that of all the others in the model. The best way to grasp it is to watch it dismantle a case built on purpose to fool us.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"example\">An example: what drives a page&#8217;s traffic<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Let me build in R an example table with sixty pages of a site. For each one I have the monthly traffic, the number of words, the <em>backlinks<\/em> received and the load time in seconds. In reality these data come from Search Console, a <em>crawler<\/em> and a link tool; here, being an example, I simulate them \u2014 but with a precise mechanism in mind, which will be our testing ground:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>set.seed(42)\nn &lt;- 60\nwords   &lt;- round(rnorm(n, 1200, 380)); words[words &lt; 350] &lt;- 350\nspeed   &lt;- round(pmax(0.6, rnorm(n, 2.6, 0.8)), 2)\n# longer content attracts more backlinks: here is the tangle\nbacklinks &lt;- round(pmax(0, 0.018 * words + rnorm(n, 0, 6)))\n# traffic is driven BY backlinks and speed, NOT by words\ntraffic &lt;- round(38 * backlinks - 260 * speed + 900 + rnorm(n, 0, 220))\ntraffic[traffic &lt; 0] &lt;- 0\n\npages &lt;- data.frame(traffic, words, backlinks, speed)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">I built the data so that traffic really depends only on backlinks and speed, while length has no direct effect at all. But I also tied length to backlinks \u2014 long pages attract more of them \u2014 just as happens in reality. How tied are they?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cor(pages$words, pages$backlinks)\n# [1] 0.81<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A strong bond: <strong>0.81<\/strong>. Let us now see what happens if, naively, we study traffic looking only at length, with a simple regression:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>coef(summary(lm(traffic ~ words, data = pages)))\n#              Estimate Std. Error t value  Pr(&gt;|t|)\n# (Intercept) 241.1577   137.9404   1.748 0.0857...\n# words         0.6128     0.1088   5.635 0.0000...<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The verdict looks overwhelming: every hundred extra words are worth some sixty extra sessions, with a tiny <em>p-value<\/em> (below 0.001). Length &#8220;matters&#8221;, and matters a lot.<br>If we stopped here, we would go and write an editorial directive \u2014 <em>make all content longer<\/em> \u2014 on a basis that is about to turn out a mirage. Let us add the other two factors to the model and see what remains of length:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>model &lt;- lm(traffic ~ words + backlinks + speed, data = pages)\ncoef(summary(model))\n#              Estimate Std. Error t value Pr(&gt;|t|)\n# (Intercept) 1100.797   120.119    9.164  0.0000\n# words          0.107     0.102    1.041  0.3025\n# backlinks     29.444     4.804    6.129  0.0000\n# speed       -322.943    34.515   -9.357  0.0000<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Here is the reversal. The length coefficient has collapsed from 0.613 to <strong>0.107<\/strong>, and its <em>p-value<\/em> has jumped to <strong>0.30<\/strong>: no longer distinguishable from zero.<br>Length, <em>holding backlinks and speed fixed<\/em>, brings almost nothing. What in the simple regression looked like its merit was in fact a reflection of the backlinks: long pages get more traffic not because they are long, but because \u2014 being long \u2014 they attract more links, and it is the links that do the work.<\/p>\n\n\n\n<div class=\"wp-block-group has-background\" style=\"background-color:#f5f7f9;margin-top:2.5rem;margin-bottom:2.5rem;padding-top:1.5rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-container-core-group-is-layout-eed7543b wp-block-group-is-layout-constrained\">\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1020\" height=\"690\" src=\"https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/regressione-multipla-confondente-en.png\" alt=\"Traffic against number of words, with points coloured by backlink level. The red line is the simple regression: slope +0.61, length &quot;seems&quot; to drive traffic. The dashed green line is the effect of length holding backlinks and speed fixed: almost flat. The points with many backlinks (dark blue) cluster in the top right \u2014 they are the ones creating the apparent slope.\" class=\"wp-image-4399\" srcset=\"https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/regressione-multipla-confondente-en.png 1020w, https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/regressione-multipla-confondente-en-300x203.png 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Traffic against number of words, with points coloured by backlink level. The red line is the simple regression: slope +0.61, length &quot;seems&quot; to drive traffic. The dashed green line is the effect of length holding backlinks and speed fixed: almost flat. The points with many backlinks (dark blue) cluster in the top right \u2014 they are the ones creating the apparent slope.<\/figcaption><\/figure>\n\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>This is the deep meaning of multiple regression: it tells the factor that acts from the one that merely tags along.<\/strong> A task no correlation taken singly could ever perform.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"coefficients\">Reading the coefficients: who really matters<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">From the full model we get three coefficients, but comparing them as they are would be a mistake: they have different units. The words coefficient (0.107) is per <em>word<\/em>, the backlinks one (29.4) is per <em>link<\/em>, the speed one (\u2212323) is per <em>second<\/em>. Saying that speed &#8220;matters more&#8221; because its number is bigger makes no sense: a second and a word are not the same thing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To compare them we must put them on the same scale. The standard way is to standardize all the variables \u2014 express them in standard deviations \u2014 and rerun the regression: the resulting coefficients, called <strong>standardized coefficients<\/strong> (or <em>betas<\/em>), tell how many standard deviations traffic changes for one extra standard deviation of each factor. Now they are comparable. I compute them in R by standardizing the data with <code>scale<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>z &lt;- as.data.frame(scale(pages))\nround(coef(lm(traffic ~ words + backlinks + speed, data = z))[-1], 3)\n#    words backlinks    speed\n#    0.104     0.610   -0.552<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The picture becomes readable at a glance: <strong>backlinks<\/strong> are the engine (+0.61), <strong>speed<\/strong> a powerful drag (\u22120.55: the slower a page, the less traffic it gathers), and <strong>words<\/strong> a trifle (+0.10) that, as we already know, is not even distinguishable from chance.<br>A coefficient on its own, though, is not enough to trust: around every estimate there is a margin of uncertainty. If a coefficient&#8217;s confidence interval includes zero, that factor might well have no effect at all \u2014 which is precisely the situation of length.<\/p>\n\n\n\n<div class=\"wp-block-group has-background\" style=\"background-color:#f5f7f9;margin-top:2.5rem;margin-bottom:2.5rem;padding-top:1.5rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-container-core-group-is-layout-eed7543b wp-block-group-is-layout-constrained\">\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"990\" height=\"600\" src=\"https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/regressione-multipla-coefficienti-en.png\" alt=\"Coefficient plot: each factor with its standardized coefficient and 95% confidence interval. Backlinks (+0.61) and speed (\u22120.55) sit clearly on one side of the zero line; words (+0.10) crosses it \u2014 an effect indistinguishable from chance. The length of the interval also tells the precision of the estimate.\" class=\"wp-image-4400\" srcset=\"https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/regressione-multipla-coefficienti-en.png 990w, https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/regressione-multipla-coefficienti-en-300x182.png 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Coefficient plot: each factor with its standardized coefficient and 95% confidence interval. Backlinks (+0.61) and speed (\u22120.55) sit clearly on one side of the zero line; words (+0.10) crosses it \u2014 an effect indistinguishable from chance. The length of the interval also tells the precision of the estimate.<\/figcaption><\/figure>\n\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group has-background\" style=\"background-color:#f5f7f9;margin-top:2.5rem;margin-bottom:2.5rem;padding-top:1.5rem;padding-right:1.5rem;padding-bottom:1.5rem;padding-left:1.5rem\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p>A word of warning: in our example words and backlinks were correlated at <strong>81%<\/strong>, and this is no harmless detail. When two predictors are too much alike, the model struggles to separate their effects, and the coefficients become unstable and imprecise \u2014 this is <strong>multicollinearity<\/strong>, one of the pitfalls we will tackle when talking about <a href=\"https:\/\/www.gironi.it\/blog\/en\/multicollinearity-heteroscedasticity-autocorrelation-three-difficult-sounding-concepts-explained-simply\/\">model diagnostics<\/a>. Here it played in our favour, helping unmask the fake effect of length; but in general <strong>a non-significant coefficient does not prove a factor is irrelevant: it may only tell us that, given these tightly tangled predictors, we cannot isolate its contribution.<\/strong><\/p>\n<\/div><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"validity\">How valid is the model?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Knowing which factors matter is half the job; the other half is asking how well, overall, the model reconstructs reality. The reference measure is the <strong>coefficient of determination<\/strong> \\( R^2 \\): the share of traffic variability the model manages to explain, from 0 (nothing) to 1 (everything). I read it from the summary:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>summary(model)$r.squared      # 0.805\nsummary(model)$adj.r.squared  # 0.795<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">An \\( R^2 \\) of <strong>0.805<\/strong> says our three factors together explain 80.5% of the traffic variability across pages \u2014 the rest is noise, or factors we did not include.<br>Beside it appears the <em>adjusted<\/em> \\( R^2 \\) (0.795), a slightly lower value: it penalizes the addition of useless variables, and should be looked at instead of the raw \\( R^2 \\) when comparing models with a different number of predictors. It guards against a trap: adding variables <em>always<\/em> raises the raw \\( R^2 \\), even when those variables add nothing real.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The most honest way to judge a model, though, is to watch it at work: put the traffic it <em>predicts<\/em> against the <em>observed<\/em> one, page by page. The closer the points hug the diagonal, the better the model captures reality.<\/p>\n\n\n\n<div class=\"wp-block-group has-background\" style=\"background-color:#f5f7f9;margin-top:2.5rem;margin-bottom:2.5rem;padding-top:1.5rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-container-core-group-is-layout-eed7543b wp-block-group-is-layout-constrained\">\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"930\" height=\"750\" src=\"https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/regressione-multipla-osservati-predetti-en.png\" alt=\"Observed traffic against traffic predicted by the three-variable model. The points cluster around the diagonal (perfect prediction); the vertical grey segments are the gaps between observed and predicted. The model explains 80.5% of the variability.\" class=\"wp-image-4401\" srcset=\"https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/regressione-multipla-osservati-predetti-en.png 930w, https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/regressione-multipla-osservati-predetti-en-300x242.png 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Observed traffic against traffic predicted by the three-variable model. The points cluster around the diagonal (perfect prediction); the vertical grey segments are the gaps between observed and predicted. The model explains 80.5% of the variability.<\/figcaption><\/figure>\n\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">A high \\( R^2 \\), it must be said, is not an automatic promotion: behind it lies a list of <strong>requirements<\/strong> the model takes for granted \u2014 that the relationships be linear, that the residuals behave well, that the predictors not be redundant (the multicollinearity of a moment ago). When these assumptions break, the coefficients stay numbers, but they stop being reliable. That is the territory of diagnostics, and it deserves a discussion of its own.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"try-it\">Try it yourself<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The best way to fix the mechanism is to get your hands on it. Taking the code above, there are three interesting directions to explore:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Drop backlinks from the model \u2014 <code>lm(traffic ~ words + speed)<\/code> \u2014 and watch what happens to the words coefficient: it grows large and &#8220;significant&#8221; again. It is the counter-proof that the fake effect lives only as long as the confounder stays out of the model.<\/li><li>Add a completely <strong>made-up, random<\/strong> variable (<code>pages\\( noise &lt;- rnorm(60)<\/code>) and put it back into the model: watch the raw \\)R^2\\( rise by a hair and the adjusted \\)R^2$ hold still or fall. That is the practical meaning of the adjustment.<\/li><li>Change the generating mechanism: make traffic depend <em>also<\/em> on words (add a <code>+ 0.3 <em> words<\/code> to the <code>traffic<\/code> formula) and check that now, in the full model, the length coefficient survives. It serves to <\/em>feel* the difference between a real effect and a merely apparent one.<\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">A hint: the structure never changes \u2014 you fit the model, read the coefficients <em>holding the others fixed<\/em>, check the \\( R^2 \\) and the observed-predicted cloud. It is by playing with the variables in and out of the model that you grasp how much of what we call a &#8220;ranking factor&#8221; is cause and how much, simply, company.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">So far our response variable has been a number that flows without jumps \u2014 traffic, which can be 300 sessions or 1,520. But very many SEO questions do not have this shape: a page <em>converts or does not convert<\/em>, a user <em>returns or does not return<\/em>, a keyword <em>breaks into the first page or stays out<\/em>. The answer is a yes or a no, and then a line predicting continuous numbers is no longer enough: we would need a model that predicts a <em>probability<\/em>, forced to stay between 0 and 1. That is the job of <a href=\"https:\/\/www.gironi.it\/blog\/en\/logistic-regression-predicting-the-outcome-of-an-event\/\">logistic regression<\/a>, the next step of our path.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"further-reading\">Further reading<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you want to go deeper into multiple regression, the interpretation of coefficients <em>holding the others fixed<\/em> and the reading of \\( R^2 \\) \u2014 the very backbone of what we built here \u2014 <em><a href=\"https:\/\/www.amazon.it\/dp\/1461471370?tag=consulenzeinf-21\" rel=\"nofollow sponsored noopener\" target=\"_blank\">An Introduction to Statistical Learning<\/a><\/em> by James, Witten, Hastie and Tibshirani is the book I recommend: it builds the linear-model framework with care, always starting from applied problems, and its hands-on R labs let you reproduce every step \u2014 including the traps of correlated predictors.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Does content length help ranking? Do backlinks bring traffic? Do faster pages convert better?Taken one at a time, these questions almost always get the same lazy answer: &#8220;yes, a bit&#8221;. The trouble is that in the real world factors never arrive one at a time. Long pages also tend to attract more links; pages with &hellip; <a href=\"https:\/\/www.gironi.it\/blog\/en\/multiple-regression-analysis-explained-simply\/\" class=\"more-link\">Leggi tutto<span class=\"screen-reader-text\"> &#8220;Multiple Regression Analysis, Explained Simply&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","footnotes":""},"categories":[161],"tags":[284],"class_list":["post-3311","post","type-post","status-publish","format-standard","hentry","category-statistics","tag-regressione-multipla"],"lang":"en","translations":{"en":3311,"it":2225},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"post-thumbnail":false},"uagb_author_info":{"display_name":"paolo","author_link":"https:\/\/www.gironi.it\/blog\/author\/paolo\/"},"uagb_comment_info":5,"uagb_excerpt":"Does content length help ranking? Do backlinks bring traffic? Do faster pages convert better?Taken one at a time, these questions almost always get the same lazy answer: &#8220;yes, a bit&#8221;. The trouble is that in the real world factors never arrive one at a time. Long pages also tend to attract more links; pages with&hellip;","_links":{"self":[{"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/posts\/3311","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/comments?post=3311"}],"version-history":[{"count":5,"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/posts\/3311\/revisions"}],"predecessor-version":[{"id":4402,"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/posts\/3311\/revisions\/4402"}],"wp:attachment":[{"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/media?parent=3311"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/categories?post=3311"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/tags?post=3311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}