Generated on December 25 2025 20:25 PM
Old data? UPDATE !
The score is 56/100
Title
Length : 0
Very bad. We haven't found title on your page.
Description
Java Java Time API Streams Stream Filters Stream Collectors Executors Generics Functional Interfaces Lambda Expressions Junit 5 From Anonymous to Lambda JFairy Data Generator Using Optional Builder Desing Pattern Mailosaur Getting Started GitHub Repository Spring Boot Spring Boot AOP Spring Boot RESTful Spring Boot Handler Exception Spring Boot Internationalization Spring Boot JPA Spring Boot Externalization Spring Boot Bootstrap Spring Boot Testing Spring Boot Validation Spring Boot Testing Validation Spring Boot Security Spring Boot Security using Database Spring Boot Rest Client Spring Boot Actuator Spring Boot JDBC Template Spring Boot Flyway Spring Boot Liquibase Spring Boot Logback Spring Boot Thymeleaf Layouts Spring Boot Swagger Spring Boot Oauth2 with Google Spring Boot Ehcache Spring Boot Appium Cucumber Spring Boot Parameters Spring Boot Profiles Spring Boot Retrofit2 Cucumber & Junit5 Spring Boot Testing Web Layer Spring Boot Publishing an Artifactory Library Spring Webflux Basics Spring Webflux Server Spring Webflux Client Spring Webflux Security Spring Webflux Security Database Spring Webflux with Thymeleaf Spring Boot JMS Spring Webflux Cucumber Spring Boot WebClient Spring Boot WebClient Cucumber and Junit5 Spring Webflux Multi-Module Spring Weblux Internationalization Spring Weblux Testing Web Layer Spring Boot Hazelcast Spring Boot JsonNode Spring Boot Server-sent Event Spring Boot Server-sent Event Client Spring Boot H2 Spring Webflux URI Validator Spring Webflux Webclient Headers Spring Boot XML Schema Spring Webflux JAXB Spring Webflux Constructor Injection Spring Webflux WebSockets Android REST Calls with Retrofit Material Design Creating Lists Material Design Card View Oauth2 Google Sign-In Appium Automation Appium Cucumber and Junit5 Firebase Remote Config UX Development Parsing JSON with ajax Inquirer & Callback Mongoose Templating with Swig & Express WebdriverIO Getting Started Applitools Getting Started WebdriverIO Geolocation WebdriverIO with Cucumber Getting Started WebdriverIO Lighthouse Selenium Cucumber And TestNG Cypress Getting Started Cypress Applitools Integration Playwright Getting Started Playwright Applitools Integration Playwright Reports Deployment Refactoring Duplicated Code Replace Temp With Query Introduce Parameter Object Replace Error Code with Exception Replace conditional with polymorphism Algorithms Simple Algorithms Fastman Problem Binary Tree Stream Merger Is Pangram Get Month Name Matrix Diagonal Difference Grading Students Apple and Orange Kangaroo GitHub Repository Best Practices Clean Code Extreme Programming SOLID Principles Continuous Integration & Delivery Git Basics Building Software with Gradle Jenkins Shell Execution Jenkins Pipeline Sysadmin Spring Boot in Nginx Server Github Actions Remote Trigger Python
Length : 2818
Ideally, your meta description should contain between 70 and 160 characters (spaces included). Use this free tool to calculate text length.
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 |
|---|---|
| title | josdem |
| description | Java Java Time API Streams Stream Filters Stream Collectors Executors Generics Functional Interfaces Lambda Expressions Junit 5 From Anonymous to Lambda JFairy Data Generator Using Optional Builder Desing Pattern Mailosaur Getting Started GitHub Repository Spring Boot Spring Boot AOP Spring Boot RESTful Spring Boot Handler Exception Spring Boot Internationalization Spring Boot JPA Spring Boot Externalization Spring Boot Bootstrap Spring Boot Testing Spring Boot Validation Spring Boot Testing Validation Spring Boot Security Spring Boot Security using Database Spring Boot Rest Client Spring Boot Actuator Spring Boot JDBC Template Spring Boot Flyway Spring Boot Liquibase Spring Boot Logback Spring Boot Thymeleaf Layouts Spring Boot Swagger Spring Boot Oauth2 with Google Spring Boot Ehcache Spring Boot Appium Cucumber Spring Boot Parameters Spring Boot Profiles Spring Boot Retrofit2 Cucumber & Junit5 Spring Boot Testing Web Layer Spring Boot Publishing an Artifactory Library Spring Webflux Basics Spring Webflux Server Spring Webflux Client Spring Webflux Security Spring Webflux Security Database Spring Webflux with Thymeleaf Spring Boot JMS Spring Webflux Cucumber Spring Boot WebClient Spring Boot WebClient Cucumber and Junit5 Spring Webflux Multi-Module Spring Weblux Internationalization Spring Weblux Testing Web Layer Spring Boot Hazelcast Spring Boot JsonNode Spring Boot Server-sent Event Spring Boot Server-sent Event Client Spring Boot H2 Spring Webflux URI Validator Spring Webflux Webclient Headers Spring Boot XML Schema Spring Webflux JAXB Spring Webflux Constructor Injection Spring Webflux WebSockets Android REST Calls with Retrofit Material Design Creating Lists Material Design Card View Oauth2 Google Sign-In Appium Automation Appium Cucumber and Junit5 Firebase Remote Config UX Development Parsing JSON with ajax Inquirer & Callback Mongoose Templating with Swig & Express WebdriverIO Getting Started Applitools Getting Started WebdriverIO Geolocation WebdriverIO with Cucumber Getting Started WebdriverIO Lighthouse Selenium Cucumber And TestNG Cypress Getting Started Cypress Applitools Integration Playwright Getting Started Playwright Applitools Integration Playwright Reports Deployment Refactoring Duplicated Code Replace Temp With Query Introduce Parameter Object Replace Error Code with Exception Replace conditional with polymorphism Algorithms Simple Algorithms Fastman Problem Binary Tree Stream Merger Is Pangram Get Month Name Matrix Diagonal Difference Grading Students Apple and Orange Kangaroo GitHub Repository Best Practices Clean Code Extreme Programming SOLID Principles Continuous Integration & Delivery Git Basics Building Software with Gradle Jenkins Shell Execution Jenkins Pipeline Sysadmin Spring Boot in Nginx Server Github Actions Remote Trigger Python |
| image | https://josdem.io/img/avatar-icon.png |
| url | https://josdem.io/ |
| type | website |
| site_name | josdem |
Headings
| H1 | H2 | H3 | H4 | H5 | H6 |
| 1 | 10 | 0 | 0 | 0 | 0 |
Images
We found 1 images on this web page.
Good, most or all of your images have alt attributes.
Text/HTML Ratio
Ratio : 37%
Ideal! This page's ratio of text to HTML code is between 25 and 70 percent.
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
We have detected underscores in your URLs. You should rather use hyphens to optimize your SEO.
In-page links
We found a total of 140 links including 0 link(s) to files
| Anchor | Type | Juice |
|---|---|---|
| josdem | Internal | Passing Juice |
| Java Time API | Internal | Passing Juice |
| Streams | Internal | Passing Juice |
| Stream Filters | Internal | Passing Juice |
| Stream Collectors | Internal | Passing Juice |
| Executors | Internal | Passing Juice |
| Generics | Internal | Passing Juice |
| Functional Interfaces | Internal | Passing Juice |
| Lambda Expressions | Internal | Passing Juice |
| Junit 5 | Internal | Passing Juice |
| From Anonymous to Lambda | Internal | Passing Juice |
| JFairy Data Generator | Internal | Passing Juice |
| Using Optional | Internal | Passing Juice |
| Builder Desing Pattern | Internal | Passing Juice |
| Mailosaur Getting Started | Internal | Passing Juice |
| GitHub Repository | External | Passing Juice |
| Spring Boot AOP | Internal | Passing Juice |
| Spring Boot RESTful | Internal | Passing Juice |
| Spring Boot Handler Exception | Internal | Passing Juice |
| Spring Boot Internationalization | Internal | Passing Juice |
| Spring Boot JPA | Internal | Passing Juice |
| Spring Boot Externalization | Internal | Passing Juice |
| Spring Boot Bootstrap | Internal | Passing Juice |
| Spring Boot Testing | Internal | Passing Juice |
| Spring Boot Validation | Internal | Passing Juice |
| Spring Boot Testing Validation | Internal | Passing Juice |
| Spring Boot Security | Internal | Passing Juice |
| Spring Boot Security using Database | Internal | Passing Juice |
| Spring Boot Rest Client | Internal | Passing Juice |
| Spring Boot Actuator | Internal | Passing Juice |
| Spring Boot JDBC Template | Internal | Passing Juice |
| Spring Boot Flyway | Internal | Passing Juice |
| Spring Boot Liquibase | Internal | Passing Juice |
| Spring Boot Logback | Internal | Passing Juice |
| Spring Boot Thymeleaf Layouts | Internal | Passing Juice |
| Spring Boot Swagger | Internal | Passing Juice |
| Spring Boot Oauth2 with Google | Internal | Passing Juice |
| Spring Boot Ehcache | Internal | Passing Juice |
| Spring Boot Appium Cucumber | Internal | Passing Juice |
| Spring Boot Parameters | Internal | Passing Juice |
| Spring Boot Profiles | Internal | Passing Juice |
| Spring Boot Retrofit2 Cucumber & Junit5 | Internal | Passing Juice |
| Spring Boot Testing Web Layer | Internal | Passing Juice |
| Spring Boot Publishing an Artifactory Library | Internal | Passing Juice |
| Spring Webflux Basics | Internal | Passing Juice |
| Spring Webflux Server | Internal | Passing Juice |
| Spring Webflux Client | Internal | Passing Juice |
| Spring Webflux Security | Internal | Passing Juice |
| Spring Webflux Security Database | Internal | Passing Juice |
| Spring Webflux with Thymeleaf | Internal | Passing Juice |
| Spring Boot JMS | Internal | Passing Juice |
| Spring Webflux Cucumber | Internal | Passing Juice |
| Spring Boot WebClient | Internal | Passing Juice |
| Spring Boot WebClient Cucumber and Junit5 | Internal | Passing Juice |
| Spring Webflux Multi-Module | Internal | Passing Juice |
| Spring Weblux Internationalization | Internal | Passing Juice |
| Spring Weblux Testing Web Layer | Internal | Passing Juice |
| Spring Boot Hazelcast | Internal | Passing Juice |
| Spring Boot JsonNode | Internal | Passing Juice |
| Spring Boot Server-sent Event | Internal | Passing Juice |
| Spring Boot Server-sent Event Client | Internal | Passing Juice |
| Spring Boot H2 | Internal | Passing Juice |
| Spring Webflux URI Validator | Internal | Passing Juice |
| Spring Webflux Webclient Headers | Internal | Passing Juice |
| Spring Boot XML Schema | Internal | Passing Juice |
| Spring Webflux JAXB | Internal | Passing Juice |
| Spring Webflux Constructor Injection | Internal | Passing Juice |
| Spring Webflux WebSockets | Internal | Passing Juice |
| REST Calls with Retrofit | Internal | Passing Juice |
| Material Design Creating Lists | Internal | Passing Juice |
| Material Design Card View | Internal | Passing Juice |
| Oauth2 Google Sign-In | Internal | Passing Juice |
| Appium Automation | Internal | Passing Juice |
| Appium Cucumber and Junit5 | Internal | Passing Juice |
| Firebase Remote Config | Internal | Passing Juice |
| Parsing JSON with ajax | Internal | Passing Juice |
| Inquirer & Callback | Internal | Passing Juice |
| Mongoose | Internal | Passing Juice |
| Templating with Swig & Express | Internal | Passing Juice |
| WebdriverIO Getting Started | Internal | Passing Juice |
| Applitools Getting Started | Internal | Passing Juice |
| WebdriverIO Geolocation | Internal | Passing Juice |
| WebdriverIO with Cucumber Getting Started | Internal | Passing Juice |
| WebdriverIO Lighthouse | Internal | Passing Juice |
| Selenium Cucumber And TestNG | Internal | Passing Juice |
| Cypress Getting Started | Internal | Passing Juice |
| Cypress Applitools Integration | Internal | Passing Juice |
| Playwright Getting Started | Internal | Passing Juice |
| Playwright Applitools Integration | Internal | Passing Juice |
| Playwright Reports Deployment | Internal | Passing Juice |
| Duplicated Code | Internal | Passing Juice |
| Replace Temp With Query | Internal | Passing Juice |
| Introduce Parameter Object | Internal | Passing Juice |
| Replace Error Code with Exception | Internal | Passing Juice |
| Replace conditional with polymorphism | Internal | Passing Juice |
| Simple Algorithms | Internal | Passing Juice |
| Fastman Problem | Internal | Passing Juice |
| Binary Tree | Internal | Passing Juice |
| Stream Merger | Internal | Passing Juice |
| Is Pangram | Internal | Passing Juice |
| Get Month Name | Internal | Passing Juice |
| Matrix Diagonal Difference | Internal | Passing Juice |
| Grading Students | Internal | Passing Juice |
| Apple and Orange | Internal | Passing Juice |
| Kangaroo | Internal | Passing Juice |
| GitHub Repository | External | Passing Juice |
| Clean Code | Internal | Passing Juice |
| Extreme Programming | Internal | Passing Juice |
| SOLID Principles | Internal | Passing Juice |
| Git Basics | Internal | Passing Juice |
| Building Software with Gradle | Internal | Passing Juice |
| Jenkins Shell Execution | Internal | Passing Juice |
| Jenkins Pipeline | Internal | Passing Juice |
| Spring Boot in Nginx Server | Internal | Passing Juice |
| Github Actions Remote Trigger | Internal | Passing Juice |
| [Read More] | Internal | Passing Juice |
| josdem | Internal | Passing Juice |
| techtalks | Internal | Passing Juice |
| programming | Internal | Passing Juice |
| technology | Internal | Passing Juice |
| [Read More] | Internal | Passing Juice |
| Nginx | Internal | Passing Juice |
| [Read More] | Internal | Passing Juice |
| Return to the main article | Internal | Passing Juice |
| sysadmin | Internal | Passing Juice |
| [Read More] | Internal | Passing Juice |
| ci | Internal | Passing Juice |
| cd | Internal | Passing Juice |
| jenkins | Internal | Passing Juice |
| [Read More] | Internal | Passing Juice |
| [Read More] | Internal | Passing Juice |
| Gradle | Internal | Passing Juice |
| [Read More] | Internal | Passing Juice |
| [Read More] | Internal | Passing Juice |
| [Read More] | Internal | Passing Juice |
| best practices | Internal | Passing Juice |
| Older Posts → | Internal | Passing Juice |
| Hugo v0.131.0 | External | Passing Juice |
| Beautiful Hugo | External | Passing Juice |
| Beautiful Jekyll | External | Passing Juice |
Keywords Cloud
jenkins using programming webflux spring josdem boot technology more git
Keywords Consistency
| Keyword | Content | Title | Keywords | Description | Headings |
|---|---|---|---|---|---|
| spring | 58 | ![]() |
![]() |
![]() |
![]() |
| boot | 44 | ![]() |
![]() |
![]() |
![]() |
| git | 14 | ![]() |
![]() |
![]() |
![]() |
| programming | 13 | ![]() |
![]() |
![]() |
![]() |
| josdem | 13 | ![]() |
![]() |
![]() |
![]() |
Url
Domain : josdem.io
Length : 9
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
Warning! At least one email address has been found in the plain text. Use free antispam protector to hide email from spammers.
Deprecated HTML
Great! We haven't found deprecated HTML tags in your HTML.
Speed Tips
![]() |
Excellent, your website doesn't use nested tables. |
![]() |
Perfect. No inline css has been found in HTML tags! |
![]() |
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
Great, your website has an XML sitemap.
| https://josdem.io/sitemap.xml |
Robots.txt
https://josdem.io/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.