{"id":235,"date":"2025-04-03T08:55:46","date_gmt":"2025-04-03T03:55:46","guid":{"rendered":"https:\/\/doozyspot.com\/?p=235"},"modified":"2025-04-03T08:58:43","modified_gmt":"2025-04-03T03:58:43","slug":"architecting-for-scale-governor-limits-performance-best-practices-in-salesforce","status":"publish","type":"post","link":"https:\/\/doozyspot.com\/?p=235","title":{"rendered":"Architecting for Scale: Governor Limits, Performance &amp; Best Practices in Salesforce &#8211; Part 1"},"content":{"rendered":"\n<p><strong>SEO Meta Description<\/strong>: Architecting for Scale: Governor Limits, Performance &amp; Best Practices in Salesforce \u2013 Discover expert strategies to overcome limitations, improve performance, and build enterprise-ready Salesforce solutions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Introduction to Salesforce Scalability Challenges<\/strong><\/h2>\n\n\n\n<p>Salesforce is one of the most powerful and flexible platforms for enterprise applications today. As organizations grow, so do the complexities of their Salesforce implementations. The challenge isn\u2019t just building functional apps\u2014it&#8217;s about scaling them without breaking performance, hitting governor limits, or overwhelming the system.<\/p>\n\n\n\n<p>Architecting for scale means thinking ahead: anticipating traffic surges, handling millions of records, and designing solutions that can evolve with your business. Whether you&#8217;re managing B2B operations, running global campaigns, or building complex customer journeys, understanding the architectural nuances of the Salesforce platform is essential for delivering performant, reliable solutions.<\/p>\n\n\n\n<p>This article dives deep into <strong>governor limits, performance tuning<\/strong>, and <strong>best practices<\/strong> that every Salesforce architect should master. It brings together expert insights, real-world patterns, and field-tested strategies to help you design for scale.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Understanding Governor Limits in Salesforce<\/strong><\/h2>\n\n\n\n<p>Salesforce operates on a multi-tenant architecture, meaning your org shares resources with others on the platform. To ensure that no single customer can monopolize shared resources, Salesforce enforces <strong>governor limits<\/strong>\u2014a set of strict execution boundaries placed on every transaction.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Why Governor Limits Exist<\/strong><\/h3>\n\n\n\n<p>Governor limits protect the platform\u2019s health and ensure equitable access for all customers. They\u2019re not just constraints\u2014they\u2019re architectural guardrails that force developers and architects to think in efficient, scalable ways.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Categories of Governor Limits<\/strong><\/h3>\n\n\n\n<p>Governor limits cover a wide range of system resources, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>DML Operations<\/strong>: Max 150 per transaction.<\/li>\n\n\n\n<li><strong>SOQL Queries<\/strong>: Max 100 per transaction.<\/li>\n\n\n\n<li><strong>Records Retrieved by SOQL<\/strong>: 50,000 max.<\/li>\n\n\n\n<li><strong>Heap Size<\/strong>: 6 MB for synchronous transactions.<\/li>\n\n\n\n<li><strong>CPU Time<\/strong>: 10,000 ms max.<\/li>\n\n\n\n<li><strong>Callouts<\/strong>: Max 100 per transaction.<\/li>\n<\/ul>\n\n\n\n<p>Understanding these limits is foundational to designing robust Salesforce applications. Architects must architect around these constraints, not in spite of them.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Performance Bottlenecks in Salesforce Architecture<\/strong><\/h2>\n\n\n\n<p>When users complain about slow page loads or automation delays, it often stems from architectural bottlenecks. These may be caused by synchronous execution, bloated queries, or inefficient Apex code.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Common Culprits in Poor Performance<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Unbulkified Triggers<\/strong>: Executing logic per record rather than per batch.<\/li>\n\n\n\n<li><strong>Overuse of Synchronous Processes<\/strong>: Like workflows or flows in high-volume scenarios.<\/li>\n\n\n\n<li><strong>Complex Page Components<\/strong>: Visualforce pages or Lightning components with inefficient controllers.<\/li>\n\n\n\n<li><strong>Inefficient Queries<\/strong>: Lack of selective filters or missing indexes.<\/li>\n<\/ul>\n\n\n\n<p>Performance starts with architecture. A well-architected system minimizes synchronous operations, emphasizes lazy loading, and makes strategic use of async methods.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Designing for Bulkification<\/strong><\/h2>\n\n\n\n<p>Bulkification is the art of designing Apex code and automation logic that can handle large volumes of records simultaneously.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Why Bulkification Matters<\/strong><\/h3>\n\n\n\n<p>Unbulkified code might pass unit tests but will break in real-world batch operations. Not only does it hit governor limits, but it can also cause data corruption or processing errors.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Bulk-Safe Patterns<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <strong>collections<\/strong> like Lists, Maps, and Sets.<\/li>\n\n\n\n<li>Avoid SOQL\/DML inside loops.<\/li>\n\n\n\n<li>Use a <strong>Trigger Framework<\/strong> (like fflib or custom-built) to handle before\/after insert\/update logic efficiently.<\/li>\n\n\n\n<li>Leverage <strong>Batch Apex<\/strong> and <strong>Queueable Apex<\/strong> for high-volume operations.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Data Management and Query Optimization<\/strong><\/h2>\n\n\n\n<p>Efficient data access is key when working with large datasets in Salesforce. Poorly written queries can time out or retrieve too much data, affecting performance across your org.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Best Practices for Large Data Volumes (LDV)<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Always use <strong>selective filters<\/strong>\u2014include indexed fields in WHERE clauses.<\/li>\n\n\n\n<li>Use <strong>Skinny Tables<\/strong> and <strong>Custom Indexes<\/strong> (through Salesforce Support).<\/li>\n\n\n\n<li>Use <strong>Query Plan Tool<\/strong> to analyze and optimize queries.<\/li>\n\n\n\n<li>Archive data periodically and implement soft deletes.<\/li>\n\n\n\n<li>Use <strong>SOQL for loops<\/strong> and process records in manageable chunks.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Leveraging Asynchronous Processing<\/strong><\/h2>\n\n\n\n<p>Async Apex helps spread processing over time, reducing load on the system and avoiding limits in synchronous contexts.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Choosing the Right Async Pattern<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Pattern<\/th><th>Use Case<\/th><th>Limitations<\/th><\/tr><\/thead><tbody><tr><td>Future Methods<\/td><td>Quick async operations with minimal logic<\/td><td>No return value, no chaining<\/td><\/tr><tr><td>Queueable<\/td><td>Medium-complex logic, chainable<\/td><td>Limited chaining depth<\/td><\/tr><tr><td>Batch Apex<\/td><td>Long-running jobs, processing large data sets<\/td><td>Complex, requires careful design<\/td><\/tr><tr><td>Scheduled Apex<\/td><td>Time-based automation<\/td><td>Max one scheduled job per class<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Choose the async method based on the complexity and volume of data, keeping in mind the execution limits.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Platform Events and Event-Driven Architecture<\/strong><\/h2>\n\n\n\n<p>Platform Events enable real-time communication within and beyond Salesforce. They\u2019re vital for building scalable, decoupled architectures.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <strong>Change Data Capture (CDC)<\/strong> to track changes in real-time.<\/li>\n\n\n\n<li>Build <strong>Pub\/Sub<\/strong> models for integrations or chained business processes.<\/li>\n\n\n\n<li>Events allow for reactive designs\u2014systems that respond dynamically rather than poll data.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Apex Design Patterns for Scalability<\/strong><\/h2>\n\n\n\n<p>Applying design patterns ensures modular, maintainable, and testable Apex code.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Factory Pattern<\/strong>: Decouple instantiation logic.<\/li>\n\n\n\n<li><strong>Strategy Pattern<\/strong>: Encapsulate algorithms for interchangeable use.<\/li>\n\n\n\n<li><strong>Unit of Work Pattern<\/strong>: Manage DML more efficiently.<\/li>\n<\/ul>\n\n\n\n<p>These patterns promote code reuse, readability, and adaptability\u2014essential traits in large-scale Salesforce orgs.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Monitoring and Debugging Performance Issues<\/strong><\/h2>\n\n\n\n<p>Once your architecture is in place, ongoing monitoring is critical. Even the best-designed solutions can degrade over time due to data growth or changes in user behavior.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Key Tools and Strategies:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Debug Logs<\/strong>: Enable and analyze logs for users or automation to track execution paths.<\/li>\n\n\n\n<li><strong>Event Monitoring<\/strong>: Available through Shield, it provides visibility into performance and user activity.<\/li>\n\n\n\n<li><strong>Salesforce Optimizer<\/strong>: Regularly run to identify configuration and performance issues.<\/li>\n\n\n\n<li><strong>AppExchange Tools<\/strong>: Tools like New Relic or MuleSoft Anypoint Monitoring provide extended visibility for integrated environments.<\/li>\n\n\n\n<li><strong>Query Plan Tool<\/strong>: Useful for analyzing and optimizing slow SOQL queries.<\/li>\n<\/ul>\n\n\n\n<p>Performance should be audited regularly, especially after major releases or data imports.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n","protected":false},"excerpt":{"rendered":"<p>SEO Meta Description: Architecting for Scale: Governor Limits, Performance &amp; Best Practices in Salesforce \u2013 Discover expert strategies to overcome limitations, improve performance, and build enterprise-ready Salesforce solutions. Introduction to Salesforce Scalability Challenges Salesforce is one of the most powerful and flexible platforms for enterprise applications today. As organizations grow, so do the complexities of [&hellip;]<\/p>\n","protected":false},"author":1,"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":[9],"tags":[18,20,5],"class_list":["post-235","post","type-post","status-publish","format-standard","hentry","category-salesforce","tag-apex","tag-apex-batch","tag-salesforce"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Architecting for Scale: Governor Limits, Performance &amp; Best Practices in Salesforce - Part 1 - DoozySpot<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/doozyspot.com\/?p=235\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Architecting for Scale: Governor Limits, Performance &amp; Best Practices in Salesforce - Part 1 - DoozySpot\" \/>\n<meta property=\"og:description\" content=\"SEO Meta Description: Architecting for Scale: Governor Limits, Performance &amp; Best Practices in Salesforce \u2013 Discover expert strategies to overcome limitations, improve performance, and build enterprise-ready Salesforce solutions. Introduction to Salesforce Scalability Challenges Salesforce is one of the most powerful and flexible platforms for enterprise applications today. As organizations grow, so do the complexities of [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/doozyspot.com\/?p=235\" \/>\n<meta property=\"og:site_name\" content=\"DoozySpot\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-03T03:55:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-03T03:58:43+00:00\" \/>\n<meta name=\"author\" content=\"doozyspot\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"doozyspot\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/doozyspot.com\/?p=235#article\",\"isPartOf\":{\"@id\":\"https:\/\/doozyspot.com\/?p=235\"},\"author\":{\"name\":\"doozyspot\",\"@id\":\"https:\/\/doozyspot.com\/#\/schema\/person\/bccb52398479b1354683df33f84154d6\"},\"headline\":\"Architecting for Scale: Governor Limits, Performance &amp; Best Practices in Salesforce &#8211; Part 1\",\"datePublished\":\"2025-04-03T03:55:46+00:00\",\"dateModified\":\"2025-04-03T03:58:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/doozyspot.com\/?p=235\"},\"wordCount\":909,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/doozyspot.com\/#organization\"},\"keywords\":[\"Apex\",\"Apex Batch\",\"Salesforce\"],\"articleSection\":[\"Salesforce\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/doozyspot.com\/?p=235#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/doozyspot.com\/?p=235\",\"url\":\"https:\/\/doozyspot.com\/?p=235\",\"name\":\"Architecting for Scale: Governor Limits, Performance &amp; Best Practices in Salesforce - Part 1 - DoozySpot\",\"isPartOf\":{\"@id\":\"https:\/\/doozyspot.com\/#website\"},\"datePublished\":\"2025-04-03T03:55:46+00:00\",\"dateModified\":\"2025-04-03T03:58:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/doozyspot.com\/?p=235#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/doozyspot.com\/?p=235\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/doozyspot.com\/?p=235#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/doozyspot.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Architecting for Scale: Governor Limits, Performance &amp; Best Practices in Salesforce &#8211; Part 1\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/doozyspot.com\/#website\",\"url\":\"https:\/\/doozyspot.com\/\",\"name\":\"DoozySpot\",\"description\":\"One of its kind in knowledge base\",\"publisher\":{\"@id\":\"https:\/\/doozyspot.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/doozyspot.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/doozyspot.com\/#organization\",\"name\":\"DoozySpot\",\"url\":\"https:\/\/doozyspot.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/doozyspot.com\/#\/schema\/logo\/image\/\",\"url\":\"http:\/\/doozyspot.com\/wp-content\/uploads\/2023\/03\/download.jpg\",\"contentUrl\":\"http:\/\/doozyspot.com\/wp-content\/uploads\/2023\/03\/download.jpg\",\"width\":1200,\"height\":1200,\"caption\":\"DoozySpot\"},\"image\":{\"@id\":\"https:\/\/doozyspot.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/doozyspot.com\/#\/schema\/person\/bccb52398479b1354683df33f84154d6\",\"name\":\"doozyspot\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/doozyspot.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2584f56a7b7945fd49a8fdf22dd31fa7baf3cf6f10370736f2d2895c7d9219f4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2584f56a7b7945fd49a8fdf22dd31fa7baf3cf6f10370736f2d2895c7d9219f4?s=96&d=mm&r=g\",\"caption\":\"doozyspot\"},\"sameAs\":[\"http:\/\/doozyspot.com\"],\"url\":\"https:\/\/doozyspot.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Architecting for Scale: Governor Limits, Performance &amp; Best Practices in Salesforce - Part 1 - DoozySpot","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/doozyspot.com\/?p=235","og_locale":"en_US","og_type":"article","og_title":"Architecting for Scale: Governor Limits, Performance &amp; Best Practices in Salesforce - Part 1 - DoozySpot","og_description":"SEO Meta Description: Architecting for Scale: Governor Limits, Performance &amp; Best Practices in Salesforce \u2013 Discover expert strategies to overcome limitations, improve performance, and build enterprise-ready Salesforce solutions. Introduction to Salesforce Scalability Challenges Salesforce is one of the most powerful and flexible platforms for enterprise applications today. As organizations grow, so do the complexities of [&hellip;]","og_url":"https:\/\/doozyspot.com\/?p=235","og_site_name":"DoozySpot","article_published_time":"2025-04-03T03:55:46+00:00","article_modified_time":"2025-04-03T03:58:43+00:00","author":"doozyspot","twitter_card":"summary_large_image","twitter_misc":{"Written by":"doozyspot","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/doozyspot.com\/?p=235#article","isPartOf":{"@id":"https:\/\/doozyspot.com\/?p=235"},"author":{"name":"doozyspot","@id":"https:\/\/doozyspot.com\/#\/schema\/person\/bccb52398479b1354683df33f84154d6"},"headline":"Architecting for Scale: Governor Limits, Performance &amp; Best Practices in Salesforce &#8211; Part 1","datePublished":"2025-04-03T03:55:46+00:00","dateModified":"2025-04-03T03:58:43+00:00","mainEntityOfPage":{"@id":"https:\/\/doozyspot.com\/?p=235"},"wordCount":909,"commentCount":0,"publisher":{"@id":"https:\/\/doozyspot.com\/#organization"},"keywords":["Apex","Apex Batch","Salesforce"],"articleSection":["Salesforce"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/doozyspot.com\/?p=235#respond"]}]},{"@type":"WebPage","@id":"https:\/\/doozyspot.com\/?p=235","url":"https:\/\/doozyspot.com\/?p=235","name":"Architecting for Scale: Governor Limits, Performance &amp; Best Practices in Salesforce - Part 1 - DoozySpot","isPartOf":{"@id":"https:\/\/doozyspot.com\/#website"},"datePublished":"2025-04-03T03:55:46+00:00","dateModified":"2025-04-03T03:58:43+00:00","breadcrumb":{"@id":"https:\/\/doozyspot.com\/?p=235#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/doozyspot.com\/?p=235"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/doozyspot.com\/?p=235#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/doozyspot.com\/"},{"@type":"ListItem","position":2,"name":"Architecting for Scale: Governor Limits, Performance &amp; Best Practices in Salesforce &#8211; Part 1"}]},{"@type":"WebSite","@id":"https:\/\/doozyspot.com\/#website","url":"https:\/\/doozyspot.com\/","name":"DoozySpot","description":"One of its kind in knowledge base","publisher":{"@id":"https:\/\/doozyspot.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/doozyspot.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/doozyspot.com\/#organization","name":"DoozySpot","url":"https:\/\/doozyspot.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/doozyspot.com\/#\/schema\/logo\/image\/","url":"http:\/\/doozyspot.com\/wp-content\/uploads\/2023\/03\/download.jpg","contentUrl":"http:\/\/doozyspot.com\/wp-content\/uploads\/2023\/03\/download.jpg","width":1200,"height":1200,"caption":"DoozySpot"},"image":{"@id":"https:\/\/doozyspot.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/doozyspot.com\/#\/schema\/person\/bccb52398479b1354683df33f84154d6","name":"doozyspot","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/doozyspot.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2584f56a7b7945fd49a8fdf22dd31fa7baf3cf6f10370736f2d2895c7d9219f4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2584f56a7b7945fd49a8fdf22dd31fa7baf3cf6f10370736f2d2895c7d9219f4?s=96&d=mm&r=g","caption":"doozyspot"},"sameAs":["http:\/\/doozyspot.com"],"url":"https:\/\/doozyspot.com\/?author=1"}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/doozyspot.com\/index.php?rest_route=\/wp\/v2\/posts\/235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/doozyspot.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/doozyspot.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/doozyspot.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/doozyspot.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=235"}],"version-history":[{"count":2,"href":"https:\/\/doozyspot.com\/index.php?rest_route=\/wp\/v2\/posts\/235\/revisions"}],"predecessor-version":[{"id":237,"href":"https:\/\/doozyspot.com\/index.php?rest_route=\/wp\/v2\/posts\/235\/revisions\/237"}],"wp:attachment":[{"href":"https:\/\/doozyspot.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/doozyspot.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=235"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/doozyspot.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}