fix: Handle None values in SEO audit result extraction
Bug: When page fetch fails (SSL error), result['onpage'] is None.
Using dict.get('key', {}) returns None when key exists with None value.
Fix: Use 'or {}' pattern to handle both missing keys and None values.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
d722fdb71e
commit
59c50e0267
@ -488,23 +488,23 @@ class SEOAuditor:
|
||||
with self.Session() as session:
|
||||
company_id = result['company_id']
|
||||
|
||||
# Extract values from result
|
||||
onpage = result.get('onpage', {})
|
||||
technical = result.get('technical', {})
|
||||
pagespeed = result.get('pagespeed', {})
|
||||
meta_tags = onpage.get('meta_tags', {}) if onpage else {}
|
||||
headings = onpage.get('headings', {}) if onpage else {}
|
||||
images = onpage.get('images', {}) if onpage else {}
|
||||
links = onpage.get('links', {}) if onpage else {}
|
||||
structured_data = onpage.get('structured_data', {}) if onpage else {}
|
||||
og = onpage.get('open_graph', {}) if onpage else {}
|
||||
tc = onpage.get('twitter_card', {}) if onpage else {}
|
||||
robots = technical.get('robots_txt', {}) if technical else {}
|
||||
sitemap = technical.get('sitemap', {}) if technical else {}
|
||||
canonical = technical.get('canonical', {}) if technical else {}
|
||||
indexability = technical.get('indexability', {}) if technical else {}
|
||||
cwv = pagespeed.get('core_web_vitals', {}) if pagespeed else {}
|
||||
ps_scores = pagespeed.get('scores', {}) if pagespeed else {}
|
||||
# Extract values from result (use 'or {}' to handle None values)
|
||||
onpage = result.get('onpage') or {}
|
||||
technical = result.get('technical') or {}
|
||||
pagespeed = result.get('pagespeed') or {}
|
||||
meta_tags = onpage.get('meta_tags') or {}
|
||||
headings = onpage.get('headings') or {}
|
||||
images = onpage.get('images') or {}
|
||||
links = onpage.get('links') or {}
|
||||
structured_data = onpage.get('structured_data') or {}
|
||||
og = onpage.get('open_graph') or {}
|
||||
tc = onpage.get('twitter_card') or {}
|
||||
robots = technical.get('robots_txt') or {}
|
||||
sitemap = technical.get('sitemap') or {}
|
||||
canonical = technical.get('canonical') or {}
|
||||
indexability = technical.get('indexability') or {}
|
||||
cwv = pagespeed.get('core_web_vitals') or {}
|
||||
ps_scores = pagespeed.get('scores') or {}
|
||||
|
||||
# Upsert query for company_website_analysis
|
||||
# Uses ON CONFLICT DO UPDATE for idempotent upserts
|
||||
|
||||
Loading…
Reference in New Issue
Block a user