Generated on March 16 2026 17:47 PM
Old data? UPDATE !
The score is 60/100
Title
A weekly Swift Blog on Xcode and iOS Development - SwiftLee
Length : 59
Perfect, your title contains between 10 and 70 characters.
Description
A Swift blog including iOS, and Xcode development content to build better mobile apps. Learn all basics and advanced topics with weekly new blog posts.
Length : 151
Great, your meta description contains between 70 and 160 characters.
Keywords
Very bad. We haven't found meta keywords on your page. Use this free online meta tags generator to create keywords.
Og Meta Properties
Good, your page take advantage of Og Properties.
| Property | Content |
|---|---|
| locale | en_US |
| type | website |
| title | A weekly Swift Blog on Xcode and iOS Development |
| description | A Swift blog including iOS, and Xcode development content to build better mobile apps. Learn all basics and advanced topics with weekly new blog posts. |
| url | https://www.avanderlee.com/ |
| site_name | SwiftLee |
| image | https://www.avanderlee.com/wp-content/uploads/2018/10/logo_large.jpg |
| image:width | 2000 |
| image:height | 2000 |
| image:type | image/jpeg |
Headings
| H1 | H2 | H3 | H4 | H5 | H6 |
| 1 | 18 | 7 | 27 | 0 | 0 |
Images
We found 15 images on this web page.
4 alt attributes are empty or missing. Add alternative text so that search engines can better understand the content of your images.
Text/HTML Ratio
Ratio : 1%
This page's ratio of text to HTML code is below 15 percent, this means that your website probably needs more text content.
Flash
Perfect, no Flash content has been detected on this page.
Iframe
Great, there are no Iframes detected on this page.
URL Rewrite
Good. Your links looks friendly!
Underscores in the URLs
Perfect! No underscores detected in your URLs.
In-page links
We found a total of 126 links including 1 link(s) to files
| Anchor | Type | Juice |
|---|---|---|
| Free iOSKonf ticket up for grabs, enter in 10 seconds. Go to the giveaway → | Internal | Passing Juice |
| Courses | Internal | Passing Juice |
| Newsletter | External | Passing Juice |
| About | Internal | Passing Juice |
| Sponsorship | Internal | Passing Juice |
| A weekly Swift Blog on Xcode and iOS Development | Internal | Passing Juice |
| Agentic Development: Multi-Project Challenges | Internal | Passing Juice |
| AI Development | Internal | Passing Juice |
| A 9-Step Framework for Choosing the Right Agent Skill | Internal | Passing Juice |
| Using an MCP to perform product optimizations | Internal | Passing Juice |
| Optimization | Internal | Passing Juice |
| How iOS apps actually make money | External | Passing Juice |
| Go to the course | External | Passing Juice |
| actor | Internal | Passing Juice |
| associatedtype | Internal | Passing Juice |
| async | Internal | Passing Juice |
| @autoclosure | Internal | Passing Juice |
| available | Internal | Passing Juice |
| break | Internal | Passing Juice |
| catch | Internal | Passing Juice |
| class | Internal | Passing Juice |
| defer | Internal | Passing Juice |
| @discardableResult | Internal | Passing Juice |
| @dynamicCallable | Internal | Passing Juice |
| @dynamicMemberLookup | Internal | Passing Juice |
| enum | Internal | Passing Juice |
| @escaping | Internal | Passing Juice |
| fileprivate | Internal | Passing Juice |
| @globalActor | Internal | Passing Juice |
| guard | Internal | Passing Juice |
| infix | Internal | Passing Juice |
| isolated | Internal | Passing Juice |
| lazy | Internal | Passing Juice |
| optional | Internal | Passing Juice |
| @propertyWrapper | Internal | Passing Juice |
| protocol | Internal | Passing Juice |
| required | Internal | Passing Juice |
| @resultBuilder | Internal | Passing Juice |
| rethrows | Internal | Passing Juice |
| sendable | Internal | Passing Juice |
| some | Internal | Passing Juice |
| subscript | Internal | Passing Juice |
| typealias | Internal | Passing Juice |
| @unknown | Internal | Passing Juice |
| unowned | Internal | Passing Juice |
| where | Internal | Passing Juice |
| Book a 1:1 with Antoine | External | Passing Juice |
| Start your journey now | External | Passing Juice |
| Listen anywhere | External | Passing Juice |
| Watch on YouTube | External | Passing Juice |
| Swift Computed Property: Code Examples | Internal | Passing Juice |
| Swift | Internal | Passing Juice |
| Concurrency | Internal | Passing Juice |
| Get the Course | External | Passing Juice |
| SwiftUI Agent Skill: Build better views with AI | Internal | Passing Juice |
| SwiftUI | Internal | Passing Juice |
| SwiftUI Architecture: Structure Views for Reusability and Clarity | Internal | Passing Juice |
| SwiftUI Toggle: A Complete Guide | Internal | Passing Juice |
| RocketSim | External | Passing Juice |
| Inspect network traffic using the Xcode Simulator | Internal | Passing Juice |
| Universal Links implementation on iOS | Internal | Passing Juice |
| Deeplink URL handling in SwiftUI | Internal | Passing Juice |
| Location Simulation in Xcode’s Simulator | Internal | Passing Juice |
| Optimizing your app for Network Reachability | Internal | Passing Juice |
| Testing push notifications on the iOS simulator | Internal | Passing Juice |
| Localization testing in Xcode | Internal | Passing Juice |
| User Defaults reading and writing in Swift | Internal | Passing Juice |
| Xcode Simulator Directories Exploration | Internal | Passing Juice |
| The operation couldn’t be completed: solving errors in Swift | Internal | Passing Juice |
| Combine and Swift Concurrency: A threading risk | Internal | Passing Juice |
| Combine | Internal | Passing Juice |
| @Published risks and usage explained with code examples | Internal | Passing Juice |
| RunLoop.main vs DispatchQueue.main: The differences explained | Internal | Passing Juice |
| Core Data Agent Skill: Now available open-source | Internal | Passing Juice |
| Core Data | Internal | Passing Juice |
| How to observe NSManagedObject changes in Core Data using Combine | Internal | Passing Juice |
| Data validation on insertion, update, and deletion in Core Data | Internal | Passing Juice |
| VoiceOver Navigator & 120 FPS Recordings for Xcode’s Simulator | Internal | Passing Juice |
| Debugging | Internal | Passing Juice |
| Xcode | Internal | Passing Juice |
| The 7 changes I do for every new Xcode project | Internal | Passing Juice |
| Simulator Camera: Test your app without a physical device | Internal | Passing Juice |
| Introducing Diagnostics: Improved Debugging and User Support | Internal | Passing Juice |
| Network Link Conditioner: Simulating Slow Networking | Internal | Passing Juice |
| Icon Composer: Transforming an AI-generated icon | Internal | Passing Juice |
| Workflow | Internal | Passing Juice |
| From App Idea to 10K MRR – YouTube Series | Internal | Passing Juice |
| Battery life on iOS and the myth of killing apps | Internal | Passing Juice |
| Build performance analysis for speeding up Xcode builds | Internal | Passing Juice |
| Swift | Internal | Passing Juice |
| Combine | Internal | Passing Juice |
| Concurrency | Internal | Passing Juice |
| SwiftUI | Internal | Passing Juice |
| Core Data | Internal | Passing Juice |
| Xcode | Internal | Passing Juice |
| Debugging | Internal | Passing Juice |
| Workflow | Internal | Passing Juice |
| Optimization | Internal | Passing Juice |
| Swift Charts | Internal | Passing Juice |
| Swift Testing | Internal | Passing Juice |
| AI Development | Internal | Passing Juice |
| Subscribe to my YouTube Channel | External | Passing Juice |
| URLSessionConfiguration: Exploring opt-in configurations | Internal | Passing Juice |
| App Store Connect API SDK in Swift: Creating Developer Tools | Internal | Passing Juice |
| 11 Things I learned after using AI Agents full-time | Internal | Passing Juice |
| Swift | Internal | Passing Juice |
| SwiftUI | Internal | Passing Juice |
| Swift Testing | Internal | Passing Juice |
| Concurrency | Internal | Passing Juice |
| Xcode | Internal | Passing Juice |
| Debugging | Internal | Passing Juice |
| YouTube | External | Passing Juice |
| External | Passing Juice | |
| External | Passing Juice | |
| Bluesky | External | Passing Juice |
| External | Passing Juice | |
| TikTok | External | Passing Juice |
| GitHub | External | Passing Juice |
| Newsletter | Internal | Passing Juice |
| RSS | Internal | Passing Juice |
| About | Internal | Passing Juice |
| Shop | External | Passing Juice |
| Sponsor | Internal | Passing Juice |
| Contact | Internal | Passing Juice |
| Book a 1:1 with Antoine | External | Passing Juice |
| SwiftLee | Internal | Passing Juice |
Keywords Cloud
newsletter swift developers giveaway ios grabs free ticket xcode weekly
Keywords Consistency
| Keyword | Content | Title | Keywords | Description | Headings |
|---|---|---|---|---|---|
| swift | 6 | ![]() |
![]() |
![]() |
![]() |
| ios | 4 | ![]() |
![]() |
![]() |
![]() |
| free | 4 | ![]() |
![]() |
![]() |
![]() |
| xcode | 3 | ![]() |
![]() |
![]() |
![]() |
| weekly | 2 | ![]() |
![]() |
![]() |
![]() |
Url
Domain : avanderlee.com
Length : 14
Favicon
Great, your website has a favicon.
Printability
We could not find a Print-Friendly CSS.
Language
Good. Your declared language is en.
Dublin Core
This page does not take advantage of Dublin Core.
Doctype
HTML 5
Encoding
Perfect. Your declared charset is UTF-8.
W3C Validity
Errors : 0
Warnings : 0
Email Privacy
Great no email address has been found in plain text!
Deprecated HTML
Great! We haven't found deprecated HTML tags in your HTML.
Speed Tips
![]() |
Excellent, your website doesn't use nested tables. |
![]() |
Too bad, your website is using inline styles. |
![]() |
Too bad, your website has too many CSS files (more than 4). |
![]() |
Too bad, your website has too many JS files (more than 6). |
![]() |
Perfect, your website takes advantage of gzip. |
Mobile Optimization
![]() |
Apple Icon |
![]() |
Meta Viewport Tag |
![]() |
Flash content |
XML Sitemap
Missing
Your website does not have an XML sitemap - this can be problematic.
A sitemap lists URLs that are available for crawling and can include additional information like your site's latest updates, frequency of changes and importance of the URLs. This allows search engines to crawl the site more intelligently.
Robots.txt
https://avanderlee.com/robots.txt
Great, your website has a robots.txt file.
Analytics
Missing
We didn't detect an analytics tool installed on this website.
Web analytics let you measure visitor activity on your website. You should have at least one analytics tool installed, but It can also be good to install a second in order to cross-check the data.
Free SEO Testing Tool is a free SEO tool which provides you content analysis of the website.