product-liability-attorney-miami · Gallardo Law Firm · Updated 2026-07-20 · En / article.cshtml + articlemetas.cshtml + FaqEntities.xml + ServiceEntities.xml + ServicePageSkin.cshtml
og:url / og:image / twitter:image were relative paths (nothing for a crawler to resolve → shared links rendered with no image), the EN page had no Twitter Card tags at all, and an earlier og:image was duplicated and pointed at an extensionless path that could 404 the preview.
@model ServicePageViewModel
<title>Product Liability Attorney Miami | @Settings.GetCenterName</title>
<link rel="canonical" href="https://gallardolawyers.com/injury-law/product-liability-attorney-miami" />
@* Fix #37 — meta description rewritten with a CTA + "Free consultation" (was passive, no CTA) *@
<meta name="description" content="Injured by a defective product in Miami? Our product liability attorneys fight to recover your compensation. Free consultation with Gallardo Law Firm." />
<meta property="og:type" content="article" />
<meta property="og:title" content="Product Liability Attorney Miami | @Settings.GetCenterName" />
<meta property="og:description" content="Injured by a defective product in Miami? Our product liability attorneys fight to recover your compensation. Free consultation with Gallardo Law Firm." />
@* Fix #37 — relative → absolute URL (social crawlers need absolute https) *@
<meta property="og:url" content="https://gallardolawyers.com/injury-law/product-liability-attorney-miami" />
@* Fix #17 removed a DUPLICATE og:image + added the .jpg extension; Fix #37 upgraded 375x211 → 903x530 for a large card *@
<meta property="og:image" content="https://gallardolawyers.com/themes/gallardo/images/services/903x530/product-liability-attorney-miami.jpg" />
<meta property="og:image:alt" content="Product Liability Attorney Miami" />
<meta property="og:image:width" content="903" />
<meta property="og:image:height" content="530" />
@* Fix #17 / #37 — Twitter Card tags ADDED (the EN page had NONE); summary_large_image *@
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Product Liability Attorney Miami | @Settings.GetCenterName" />
<meta name="twitter:description" content="Injured by a defective product in Miami? Free consultation with Gallardo Law Firm." />
<meta name="twitter:image" content="https://gallardolawyers.com/themes/gallardo/images/services/903x530/product-liability-attorney-miami.jpg" />
<meta name="twitter:image:alt" content="Product Liability Attorney Miami" />
"Free consultation" is a fee/offer statement — same PENDING FIRM REVIEW caveat as the on-page free-consultation mentions. @Model.GetLastModifiedDate is the only dynamic value kept; description ~149 chars (safe under the ~155–160 truncation).
| Keyword | Vol/mo | CPC | GSC pos | Impr | On | Now | Δ |
|---|---|---|---|---|---|---|---|
| product liability lawyer (head term — biggest gap) | 18,100 | $18.57 | 11.24 | 177 | 1 | 13 | +12 |
| product liability attorney | 12,100 | $21.07 | 11.05 | 139 | 8 | 9 | +1 |
| product liability lawyers | 4,400 | $18.57 | 8.65 | 23 | 1 | 3 | +2 |
| product liability attorneys | 3,600 | $21.07 | 7.29 | 35 | 2 | 5 | +3 |
| defective product lawyer MONEY CLUSTER | 3,600 | $46.32 | 8.70 | 10 | 0 | 5 | +5 |
| defective product attorney | 2,400 | $18.28 | 9.67 | 12 | 0 | 1 | +1 |
| defective products attorney (highest CPC on the page) | 1,300 | $58.36 | 10.06 | 104 | 0 | 1 | +1 |
| defective products lawyer | 1,300 | $46.32 | 9.74 | 88 | 0 | 1 | +1 |
| product liability attorney near me | 1,300 | $15.19 | 10.58 | 62 | 0 | 1 | +1 |
| product liability lawyer near me | 1,300 | $13.62 | 11.89 | 35 | 0 | 2 | +2 |
| product defect lawyer | 480 | $16.97 | 7.77 | 13 | 0 | 1 | +1 |
| miami product liability lawyer (most impressions on the page) | 210 | — | 12.76 | 1,020 | 0 | 0 | = |
| product liability attorney miami (the named target — 110/mo, a rounding error) | 110 | — | 9.87 | 243 | 4 | 3 | −1 |
| defective medical devices lawyer miami (covered via components) | 30 | — | 40.76 | 74 | 0 | 0 | = |
| Stem | On | Now | Δ |
|---|---|---|---|
| product liability | 16 | 68 | +52 |
| claim | 5 | 53 | +48 |
| miami | 7 | 35 | +28 |
| defective product | 9 | 31 | +22 |
| injury | 7 | 25 | +18 |
| lawyer (the deliberate re-weighting worked) | 3 | 22 | +19 |
| recall (new cluster) | 0 | 11 | +11 |
| attorney (held flat by design — growth routed to "lawyer") | 9 | 13 | +4 |
| near me (now present, in the near-me FAQ) | 0 | 4 | +4 |
| Cluster | Vol/mo | CPC | Best GSC pos | Before |
|---|---|---|---|---|
| defective products attorney | 1,300 | $58.36 | 10.06 | 0× on page |
| defective product lawyer | 3,600 | $46.32 | 8.70 | 0× on page |
| miami defective products attorney | 0* | — | 5.50 | 0× on page |
| product liability attorney (for contrast) | 12,100 | $21.07 | 9.87 | 8× on page |
<ol> (no HowTo schema — Google retired it in 2023)FAQEntity records (the skin renders Take(10)), each mapped to real search demand: SOL, defect types, strict liability, the 50% bar, recall-vs-lawsuit, medical devices, near-me, cost/free-consult, case duration.<ol> of anchor links (site's #heading-N convention) → eligible for Google "jump-to" sitelinks, a structural signal for engines, keyword-bearing anchor text. Styled in a gold-accent box, inline on this page only (shared CSS untouched).list-group (parity with the PI page)/injury-law (404) to the live Personal Injury hub pagetargeredkeyword in ServiceEntities.xml — shows only this page targets "Product Liability Attorney Miami". Every overlapping page targets a different money intent (employment class action, provider malpractice, B2B litigation) and most point into this page.
The real finding was the opposite of cannibalization: no page linked TO this one.
| Source page | Anchor text |
|---|---|
| personal-injury-lawyer-in-florida (hub) | "Product liability" (head term) |
| commercial-litigation-attorney-miami | "Miami product liability attorneys" (only exact-match money anchor) |
| miami-wrongful-death-lawyer | "defective products" / "product liability claim" |
| miami-amputation-lawyer | "defective products" |
| miami-pharmacy-malpractice-lawyer | "defective products" (defective DRUGS — strongest topical match) |
ServicesRelated partial, 6 sibling injury areas (mirrors the PI page)parentOrganization → #organization, tying every service page to the one real brand node on the homepage (which already carries the correct sameAs). Fix #32 first added a colliding @id — Fix #33 corrected it to parentOrganization, the exact pattern the homepage's 3 location nodes use.
Count-refresh tooling strips <script>/<style> before counting, so JSON-LD text does not pollute the keyword table (verified: adding the blocks moved 0 rows). No duplicate entities — each block is a distinct @type.