{"id":30505,"date":"2025-08-30T12:50:03","date_gmt":"2025-08-30T05:50:03","guid":{"rendered":"https:\/\/dps.media\/check-ip-website-online-cach-tra-cuu-ip-site-url-chinh-xac\/"},"modified":"2025-08-30T12:50:13","modified_gmt":"2025-08-30T05:50:13","slug":"check-ip-website-online-accurate-method-to-check-ip-site-url","status":"publish","type":"post","link":"https:\/\/dps.media\/en\/check-ip-website-online-accurate-method-to-check-ip-site-url\/","title":{"rendered":"Check IP Website Online: How to look up site IP, accurate URL"},"content":{"rendered":"<?xml encoding=\"utf-8\" ?><p><!-- DNS Bulk Lookup Widget - DPS.MEDIA Branded v\u1edbi CSS Isolated -->\r\n<\/p><div id=\"dnsBulkWidget\"><\/div><script>\r\n(function(){\r\n  const root = document.getElementById('dnsBulkWidget');\r\n  if (!root) return;\r\n\r\n  const POPULAR = ['A','CNAME','MX','NS','TXT'];\r\n  const RECORDS = ['ALL', ...POPULAR];\r\n  const TYPE_CODE = { A:1, CNAME:5, MX:15, NS:2, TXT:16 };\r\n\r\n  \/\/ T\u1ea1o CSS c\u00f4 l\u1eadp v\u1edbi prefix\r\n  const widgetStyles = `\r\n    #dnsBulkWidget {\r\n      all: initial !important;\r\n      font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif !important;\r\n    }\r\n    \r\n    #dnsBulkWidget *,\r\n    #dnsBulkWidget *::before,\r\n    #dnsBulkWidget *::after {\r\n      box-sizing: border-box !important;\r\n      margin: 0 !important;\r\n      padding: 0 !important;\r\n      border: none !important;\r\n      background: none !important;\r\n      outline: none !important;\r\n      text-decoration: none !important;\r\n      list-style: none !important;\r\n      font: inherit !important;\r\n      color: inherit !important;\r\n      vertical-align: baseline !important;\r\n      line-height: normal !important;\r\n    }\r\n\r\n    \/* Container ch\u00ednh *\/\r\n    #dnsBulkWidget .dns-container {\r\n      max-width: 1000px !important;\r\n      margin: 24px auto !important;\r\n      padding: 0 !important;\r\n      border: 1px solid #e5e7eb !important;\r\n      border-radius: 16px !important;\r\n      font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif !important;\r\n      overflow: hidden !important;\r\n      box-shadow: 0 10px 25px -5px rgba(21,21,119,0.1), 0 4px 6px -2px rgba(21,21,119,0.05) !important;\r\n      background: #ffffff !important;\r\n    }\r\n\r\n    \/* Header *\/\r\n    #dnsBulkWidget .dns-header {\r\n      background: linear-gradient(135deg, #151577 0%, #1e1e7a 100%) !important;\r\n      padding: 20px !important;\r\n      color: white !important;\r\n      position: relative !important;\r\n      overflow: hidden !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-header-bg1 {\r\n      position: absolute !important;\r\n      top: -20px !important;\r\n      right: -20px !important;\r\n      width: 100px !important;\r\n      height: 100px !important;\r\n      background: rgba(255,255,255,0.05) !important;\r\n      border-radius: 50% !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-header-bg2 {\r\n      position: absolute !important;\r\n      bottom: -30px !important;\r\n      left: -30px !important;\r\n      width: 80px !important;\r\n      height: 80px !important;\r\n      background: rgba(50,181,97,0.15) !important;\r\n      border-radius: 50% !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-header-content {\r\n      position: relative !important;\r\n      z-index: 1 !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-header-top {\r\n      display: flex !important;\r\n      align-items: center !important;\r\n      justify-content: space-between !important;\r\n      margin-bottom: 8px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-header-left {\r\n      display: flex !important;\r\n      align-items: center !important;\r\n      gap: 12px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-icon {\r\n      width: 40px !important;\r\n      height: 40px !important;\r\n      background: linear-gradient(135deg, #32b561, #28a555) !important;\r\n      border-radius: 12px !important;\r\n      display: flex !important;\r\n      align-items: center !important;\r\n      justify-content: center !important;\r\n      font-size: 20px !important;\r\n      font-weight: bold !important;\r\n      color: white !important;\r\n      box-shadow: 0 4px 8px rgba(50,181,97,0.3) !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-title {\r\n      margin: 0 !important;\r\n      font-size: 20px !important;\r\n      font-weight: 700 !important;\r\n      letter-spacing: -0.5px !important;\r\n      color: #fff !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-subtitle {\r\n      margin: 0 !important;\r\n      font-size: 13px !important;\r\n      opacity: 0.8 !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-brand {\r\n      text-align: right !important;\r\n      font-size: 12px !important;\r\n      opacity: 0.7 !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-brand-name {\r\n      font-weight: 600 !important;\r\n      color: #32b561 !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-desc {\r\n      margin: 0 !important;\r\n      font-size: 13px !important;\r\n      opacity: 0.9 !important;\r\n      line-height: 1.4 !important;\r\n    }\r\n\r\n    \/* Main Content *\/\r\n    #dnsBulkWidget .dns-main {\r\n      padding: 20px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-main-layout {\r\n      display: flex !important;\r\n      flex-direction: column !important;\r\n      gap: 16px !important;\r\n      margin-bottom: 16px !important;\r\n    }\r\n\r\n    \/* Input Section *\/\r\n    #dnsBulkWidget .dns-input-section {\r\n      position: relative !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-textarea {\r\n      width: 100% !important;\r\n      padding: 12px !important;\r\n      border: 2px solid #e5e7eb !important;\r\n      border-radius: 12px !important;\r\n      resize: vertical !important;\r\n      font-family: monospace !important;\r\n      font-size: 13px !important;\r\n      box-sizing: border-box !important;\r\n      transition: border-color 0.3s !important;\r\n      background: #fafbfc !important;\r\n      color: #374151 !important;\r\n      min-height: 120px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-textarea:focus {\r\n      outline: none !important;\r\n      border-color: #151577 !important;\r\n      box-shadow: 0 0 0 3px rgba(21,21,119,0.1) !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-count {\r\n      position: absolute !important;\r\n      top: 8px !important;\r\n      right: 12px !important;\r\n      background: rgba(21,21,119,0.9) !important;\r\n      color: white !important;\r\n      padding: 4px 8px !important;\r\n      border-radius: 6px !important;\r\n      font-size: 11px !important;\r\n      font-weight: 500 !important;\r\n    }\r\n\r\n    \/* Controls *\/\r\n    #dnsBulkWidget .dns-controls {\r\n      display: flex !important;\r\n      flex-direction: column !important;\r\n      gap: 12px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-label {\r\n      display: block !important;\r\n      font-size: 13px !important;\r\n      font-weight: 600 !important;\r\n      color: #151577 !important;\r\n      margin-bottom: 8px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-types {\r\n      display: flex !important;\r\n      flex-wrap: wrap !important;\r\n      gap: 6px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-type-btn {\r\n      padding: 8px 14px !important;\r\n      border: 1px solid #cbd5e1 !important;\r\n      border-radius: 10px !important;\r\n      background: #fff !important;\r\n      cursor: pointer !important;\r\n      font-size: 12px !important;\r\n      font-weight: 500 !important;\r\n      transition: all 0.3s !important;\r\n      color: #374151 !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-type-btn:hover {\r\n      border-color: #151577 !important;\r\n      color: #151577 !important;\r\n      transform: translateY(-1px) !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-type-btn.active {\r\n      background: linear-gradient(135deg, #151577, #1e1e7a) !important;\r\n      color: #fff !important;\r\n      border-color: #151577 !important;\r\n      box-shadow: 0 4px 12px rgba(21,21,119,0.25) !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-type-btn.active:hover {\r\n      color: #fff !important;\r\n      transform: translateY(-1px) !important;\r\n    }\r\n\r\n    \/* Actions *\/\r\n    #dnsBulkWidget .dns-actions {\r\n      display: flex !important;\r\n      flex-wrap: wrap !important;\r\n      gap: 12px !important;\r\n      align-items: end !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-delay-section {\r\n      flex: 1 !important;\r\n      min-width: 140px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-delay-label {\r\n      display: block !important;\r\n      font-size: 12px !important;\r\n      color: #151577 !important;\r\n      font-weight: 500 !important;\r\n      margin-bottom: 4px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-delay-input-group {\r\n      display: flex !important;\r\n      align-items: center !important;\r\n      gap: 6px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-delay-input {\r\n      width: 70px !important;\r\n      padding: 6px 8px !important;\r\n      border: 1px solid #cbd5e1 !important;\r\n      border-radius: 8px !important;\r\n      font-size: 12px !important;\r\n      transition: border-color 0.3s !important;\r\n      background: #fff !important;\r\n      color: #374151 !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-delay-input:focus {\r\n      outline: none !important;\r\n      border-color: #151577 !important;\r\n      box-shadow: 0 0 0 3px rgba(21,21,119,0.1) !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-delay-unit {\r\n      font-size: 12px !important;\r\n      color: #64748b !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-action-buttons {\r\n      display: flex !important;\r\n      gap: 8px !important;\r\n      flex-wrap: wrap !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-btn {\r\n      padding: 12px 20px !important;\r\n      border: none !important;\r\n      border-radius: 10px !important;\r\n      cursor: pointer !important;\r\n      font-weight: 600 !important;\r\n      font-size: 13px !important;\r\n      white-space: nowrap !important;\r\n      transition: all 0.3s !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-btn-primary {\r\n      background: linear-gradient(135deg, #151577, #1e1e7a) !important;\r\n      color: #fff !important;\r\n      box-shadow: 0 4px 12px rgba(21,21,119,0.3) !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-btn-primary:hover {\r\n      transform: translateY(-1px) !important;\r\n      box-shadow: 0 6px 20px rgba(21,21,119,0.4) !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-btn-secondary {\r\n      border: 2px solid #dc2626 !important;\r\n      background: #fff !important;\r\n      color: #dc2626 !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-btn:disabled {\r\n      background: #6b7280 !important;\r\n      cursor: not-allowed !important;\r\n      box-shadow: none !important;\r\n      transform: none !important;\r\n    }\r\n\r\n    \/* Status Bar *\/\r\n    #dnsBulkWidget .dns-status-bar {\r\n      display: flex !important;\r\n      gap: 10px !important;\r\n      flex-wrap: wrap !important;\r\n      align-items: center !important;\r\n      margin-bottom: 16px !important;\r\n      padding: 12px !important;\r\n      background: linear-gradient(90deg, #f8fafc, #f1f5f9) !important;\r\n      border-radius: 12px !important;\r\n      border: 1px solid #e2e8f0 !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-btn-small {\r\n      padding: 8px 14px !important;\r\n      border-radius: 8px !important;\r\n      cursor: pointer !important;\r\n      font-size: 12px !important;\r\n      font-weight: 500 !important;\r\n      transition: all 0.3s !important;\r\n      background: #fff !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-btn-copy {\r\n      border: 1px solid #32b561 !important;\r\n      color: #32b561 !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-btn-copy:not(:disabled):hover {\r\n      background: #32b561 !important;\r\n      color: white !important;\r\n      transform: translateY(-1px) !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-btn-copy.success {\r\n      background: linear-gradient(135deg, #32b561, #28a555) !important;\r\n      color: #fff !important;\r\n      border-color: #32b561 !important;\r\n      box-shadow: 0 4px 12px rgba(50,181,97,0.3) !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-btn-clear {\r\n      border: 1px solid #cbd5e1 !important;\r\n      color: #374151 !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-btn-clear:hover {\r\n      border-color: #151577 !important;\r\n      color: #151577 !important;\r\n      transform: translateY(-1px) !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-status-right {\r\n      flex: 1 !important;\r\n      min-width: 120px !important;\r\n      display: flex !important;\r\n      align-items: center !important;\r\n      justify-content: end !important;\r\n      gap: 12px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-progress {\r\n      display: none !important;\r\n      background: #e2e8f0 !important;\r\n      border-radius: 10px !important;\r\n      height: 8px !important;\r\n      width: 120px !important;\r\n      overflow: hidden !important;\r\n      min-width: 80px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-progress-bar {\r\n      height: 100% !important;\r\n      background: linear-gradient(90deg, #151577, #32b561) !important;\r\n      width: 0% !important;\r\n      transition: width 0.3s !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-status {\r\n      font-size: 12px !important;\r\n      color: #151577 !important;\r\n      font-weight: 600 !important;\r\n      text-align: right !important;\r\n    }\r\n\r\n    \/* Error Display *\/\r\n    #dnsBulkWidget .dns-error {\r\n      display: none !important;\r\n      background: linear-gradient(135deg, #fef2f2, #fee2e2) !important;\r\n      border: 2px solid #fca5a5 !important;\r\n      color: #991b1b !important;\r\n      padding: 12px !important;\r\n      border-radius: 12px !important;\r\n      margin-bottom: 12px !important;\r\n      align-items: center !important;\r\n      gap: 10px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-error-icon {\r\n      font-size: 18px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-error-text {\r\n      font-weight: 500 !important;\r\n    }\r\n\r\n    \/* Results *\/\r\n    #dnsBulkWidget .dns-results {\r\n      overflow: auto !important;\r\n      max-height: 60vh !important;\r\n      border: 2px solid #e5e7eb !important;\r\n      border-radius: 12px !important;\r\n      background: #fafafa !important;\r\n      min-height: 120px !important;\r\n      display: flex !important;\r\n      align-items: center !important;\r\n      justify-content: center !important;\r\n      color: #64748b !important;\r\n      font-style: italic !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-empty-state {\r\n      text-align: center !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-empty-icon {\r\n      font-size: 32px !important;\r\n      margin-bottom: 8px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-empty-text {\r\n      margin-bottom: 4px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-empty-subtext {\r\n      font-size: 11px !important;\r\n      color: #9ca3af !important;\r\n    }\r\n\r\n    \/* Table - Tr\u00e1nh d\u00f9ng th, td g\u1ed1c *\/\r\n    #dnsBulkWidget .dns-table {\r\n      width: 100% !important;\r\n      border-collapse: collapse !important;\r\n      font-size: 12px !important;\r\n      background: #fff !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-table thead {\r\n      position: sticky !important;\r\n      top: 0 !important;\r\n      background: linear-gradient(135deg, #151577, #1e1e7a) !important;\r\n      z-index: 1 !important;\r\n      color: white !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-table-header {\r\n      padding: 12px 15px !important;\r\n      font-weight: 600 !important;\r\n      font-size: 12px !important;\r\n      text-align: left !important;\r\n      background: inherit !important;\r\n      color: inherit !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-table-header.center {\r\n      text-align: center !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-table tbody .dns-table-row:nth-child(even) {\r\n      background: #f8fafc !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-table tbody .dns-table-row:nth-child(odd) {\r\n      background: #ffffff !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-table-cell {\r\n      padding: 10px 15px !important;\r\n      border-bottom: 1px solid #f1f5f9 !important;\r\n      font-size: 12px !important;\r\n      word-break: break-all !important;\r\n      background: inherit !important;\r\n      color: inherit !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-table-cell.center {\r\n      text-align: center !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-table-cell.type {\r\n      font-weight: 600 !important;\r\n      color: #151577 !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-table-cell.name {\r\n      font-family: monospace !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-table-cell.ttl {\r\n      font-family: monospace !important;\r\n      color: #32b561 !important;\r\n      font-weight: 500 !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-table-header-row {\r\n      display: flex !important;\r\n      background: linear-gradient(135deg, #151577, #1e1e7a) !important;\r\n      color: white !important;\r\n      position: sticky !important;\r\n      top: 0 !important;\r\n      z-index: 1 !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-table-row {\r\n      display: flex !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-table-header:nth-child(1),\r\n    #dnsBulkWidget .dns-table-cell:nth-child(1) {\r\n      flex: 2 !important;\r\n      min-width: 120px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-table-header:nth-child(2),\r\n    #dnsBulkWidget .dns-table-cell:nth-child(2) {\r\n      flex: 0 0 80px !important;\r\n      text-align: center !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-table-header:nth-child(3),\r\n    #dnsBulkWidget .dns-table-cell:nth-child(3) {\r\n      flex: 1.5 !important;\r\n      min-width: 100px !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-table-header:nth-child(4),\r\n    #dnsBulkWidget .dns-table-cell:nth-child(4) {\r\n      flex: 0 0 60px !important;\r\n      text-align: center !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-table-header:nth-child(5),\r\n    #dnsBulkWidget .dns-table-cell:nth-child(5) {\r\n      flex: 2.5 !important;\r\n      min-width: 150px !important;\r\n    }\r\n\r\n    \/* Footer *\/\r\n    #dnsBulkWidget .dns-footer {\r\n      background: linear-gradient(135deg, #f8fafc, #f1f5f9) !important;\r\n      padding: 12px 20px !important;\r\n      border-top: 1px solid #e2e8f0 !important;\r\n      text-align: center !important;\r\n      font-size: 11px !important;\r\n      color: #64748b !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-footer-content {\r\n      display: flex !important;\r\n      align-items: center !important;\r\n      justify-content: center !important;\r\n      gap: 8px !important;\r\n      flex-wrap: wrap !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-footer-brand {\r\n      color: #151577 !important;\r\n      font-weight: 700 !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-footer-link {\r\n      color: #32b561 !important;\r\n      text-decoration: none !important;\r\n      font-weight: 600 !important;\r\n    }\r\n\r\n    #dnsBulkWidget .dns-footer-link:hover {\r\n      text-decoration: underline !important;\r\n    }\r\n\r\n    \/* Mobile Responsive *\/\r\n    @media (min-width: 768px) {\r\n      #dnsBulkWidget .dns-main-layout {\r\n        display: grid !important;\r\n        grid-template-columns: 1fr 320px !important;\r\n        gap: 20px !important;\r\n      }\r\n      \r\n      #dnsBulkWidget .dns-actions {\r\n        flex-direction: column !important;\r\n        align-items: stretch !important;\r\n      }\r\n      \r\n      #dnsBulkWidget .dns-action-buttons {\r\n        display: flex !important;\r\n        flex-direction: column !important;\r\n        gap: 10px !important;\r\n      }\r\n      \r\n      #dnsBulkWidget .dns-textarea {\r\n        min-height: 160px !important;\r\n      }\r\n    }\r\n    \r\n    @media (max-width: 767px) {\r\n      #dnsBulkWidget .dns-actions {\r\n        flex-direction: column !important;\r\n      }\r\n      \r\n      #dnsBulkWidget .dns-action-buttons {\r\n        width: 100% !important;\r\n      }\r\n      \r\n      #dnsBulkWidget .dns-btn {\r\n        flex: 1 !important;\r\n      }\r\n      \r\n      #dnsBulkWidget .dns-types {\r\n        justify-content: center !important;\r\n      }\r\n\r\n      #dnsBulkWidget .dns-table-header.mobile-hidden,\r\n      #dnsBulkWidget .dns-table-cell.mobile-hidden {\r\n        display: none !important;\r\n      }\r\n\r\n      #dnsBulkWidget .dns-table-header,\r\n      #dnsBulkWidget .dns-table-cell {\r\n        padding: 8px 6px !important;\r\n        font-size: 11px !important;\r\n      }\r\n    }\r\n  `;\r\n\r\n  \/\/ Th\u00eam CSS v\u00e0o head\r\n  const styleEl = document.createElement('style');\r\n  styleEl.textContent = widgetStyles;\r\n  document.head.appendChild(styleEl);\r\n\r\n  root.innerHTML = `\r\n  <div class=\"dns-container\">\r\n    \r\n    <!-- DPS.MEDIA Header -->\r\n    <div class=\"dns-header\">\r\n      <div class=\"dns-header-bg1\">\r\n      <div class=\"dns-header-bg2\">\r\n      <div class=\"dns-header-content\">\r\n        <div class=\"dns-header-top\">\r\n          <div class=\"dns-header-left\">\r\n            <div class=\"dns-icon\">\ud83d\udd0d\r\n            <div>\r\n              <div class=\"dns-title\">Tra C\u1ee9u DNS H\u00e0ng Lo\u1ea1t\r\n              <div class=\"dns-subtitle\">C\u00f4ng c\u1ee5 chuy\u00ean nghi\u1ec7p t\u1eeb DPS.MEDIA\r\n            \r\n          \r\n          <div class=\"dns-brand\">\r\n            <div class=\"dns-brand-name\">DPS.MEDIA\r\n            <div>Digital Tools\r\n          \r\n        \r\n        <div class=\"dns-desc\">Nh\u1eadp m\u1ed7i t\u00ean mi\u1ec1n m\u1ed9t d\u00f2ng (c\u00f3 th\u1ec3 d\u00e1n URL). Ch\u1ecdn lo\u1ea1i b\u1ea3n ghi ho\u1eb7c \"T\u1ea4T C\u1ea2\" \u0111\u1ec3 tra 5 lo\u1ea1i ph\u1ed5 bi\u1ebfn.\r\n      \r\n    \r\n\r\n    <!-- Main Content -->\r\n    <div class=\"dns-main\">\r\n      <!-- Mobile\/Desktop Layout -->\r\n      <div class=\"dns-main-layout\">\r\n        \r\n        <!-- Input Section -->\r\n        <div class=\"dns-input-section\">\r\n          <textarea id=\"dns-lines\" class=\"dns-textarea\" rows=\"6\" placeholder=\"dps.media\nexample.com\nhttps:\/\/sub.domain.com\/\">\r\n          <div id=\"dns-count\" class=\"dns-count\">0 t\u00ean mi\u1ec1n\r\n        \r\n        \r\n        <!-- Controls Section -->\r\n        <div class=\"dns-controls\">\r\n          \r\n          <!-- Record Types -->\r\n          <div>\r\n            <div class=\"dns-label\">Lo\u1ea1i B\u1ea3n Ghi:\r\n            <div id=\"dns-types\" class=\"dns-types\">\r\n          \r\n          \r\n          <!-- Settings & Buttons Row -->\r\n          <div class=\"dns-actions\">\r\n            \r\n            <!-- Delay Setting -->\r\n            <div class=\"dns-delay-section\">\r\n              <div class=\"dns-delay-label\">\u0110\u1ed9 tr\u1ec5 gi\u1eefa c\u00e1c request:\r\n              <div class=\"dns-delay-input-group\">\r\n                <input id=\"dns-delay\" type=\"number\" min=\"50\" step=\"10\" value=\"120\" class=\"dns-delay-input\"> \r\n                <span class=\"dns-delay-unit\">ms\r\n              \r\n            \r\n            \r\n            <!-- Action Buttons -->\r\n            <div class=\"dns-action-buttons\">\r\n              <button id=\"dns-run\" class=\"dns-btn dns-btn-primary\">\r\n                <span id=\"run-text\">\ud83d\ude80 B\u1eaft \u0110\u1ea7u\r\n              \r\n              <button id=\"dns-stop\" class=\"dns-btn dns-btn-secondary\" style=\"display:none\">\r\n                \u23f9\ufe0f D\u1eebng\r\n              \r\n            \r\n          \r\n        \r\n      \r\n\r\n      <!-- Status & Actions Bar -->\r\n      <div class=\"dns-status-bar\">\r\n        <button id=\"dns-copy-table\" class=\"dns-btn-small dns-btn-copy\" disabled>\r\n          \ud83d\udccb Sao Ch\u00e9p\r\n        \r\n        <button id=\"dns-clear\" class=\"dns-btn-small dns-btn-clear\">\r\n          \ud83d\uddd1\ufe0f X\u00f3a\r\n        \r\n        \r\n        <!-- Progress Bar -->\r\n        <div class=\"dns-status-right\">\r\n          <div id=\"dns-progress\" class=\"dns-progress\">\r\n            <div id=\"dns-progress-bar\" class=\"dns-progress-bar\">\r\n          \r\n          <div id=\"dns-status\" class=\"dns-status\">\r\n        \r\n      \r\n\r\n      <!-- Error Display -->\r\n      <div id=\"dns-error\" class=\"dns-error\">\r\n        <span class=\"dns-error-icon\">\u26a0\ufe0f\r\n        <span id=\"dns-error-text\" class=\"dns-error-text\">\r\n      \r\n\r\n      <!-- Results Table -->\r\n      <div id=\"dns-results\" class=\"dns-results\">\r\n        <div class=\"dns-empty-state\">\r\n          <div class=\"dns-empty-icon\">\ud83d\udcca\r\n          <div class=\"dns-empty-text\">S\u1eb5n s\u00e0ng tra c\u1ee9u b\u1ea3n ghi DNS...\r\n          <div class=\"dns-empty-subtext\">\u0110\u01b0\u1ee3c h\u1ed7 tr\u1ee3 b\u1edfi DPS.MEDIA\r\n        \r\n      \r\n    \r\n\r\n    <!-- Footer -->\r\n    <div class=\"dns-footer\">\r\n      <div class=\"dns-footer-content\">\r\n        <span>Ph\u00e1t tri\u1ec3n b\u1edfi\r\n        <strong class=\"dns-footer-brand\">DPS.MEDIA\r\n        <span>\u2022\r\n        <span>C\u00f4ng c\u1ee5 s\u1ed1 chuy\u00ean nghi\u1ec7p\r\n        <span>\u2022\r\n        <a href=\"https:\/\/dps.media\" target=\"_blank\" class=\"dns-footer-link\">dps.media\r\n      \r\n    \r\n  `;\r\n\r\n  const ta = root.querySelector('#dns-lines');\r\n  const btnRun = root.querySelector('#dns-run');\r\n  const btnStop = root.querySelector('#dns-stop');\r\n  const btnClear = root.querySelector('#dns-clear');\r\n  const typesWrap = root.querySelector('#dns-types');\r\n  const statusEl = root.querySelector('#dns-status');\r\n  const errorEl = root.querySelector('#dns-error');\r\n  const errorTextEl = root.querySelector('#dns-error-text');\r\n  const resultsEl = root.querySelector('#dns-results');\r\n  const delayInput = root.querySelector('#dns-delay');\r\n  const btnCopy = root.querySelector('#dns-copy-table');\r\n  const countEl = root.querySelector('#dns-count');\r\n  const progressEl = root.querySelector('#dns-progress');\r\n  const progressBarEl = root.querySelector('#dns-progress-bar');\r\n  const runTextEl = root.querySelector('#run-text');\r\n\r\n  \/\/ Type pills v\u1edbi DPS branding\r\n  const TYPE_LABELS = {\r\n    'ALL': 'T\u1ea4T C\u1ea2',\r\n    'A': 'A', \r\n    'CNAME': 'CNAME',\r\n    'MX': 'MX',\r\n    'NS': 'NS',\r\n    'TXT': 'TXT'\r\n  };\r\n\r\n  let activeType = 'A';\r\n  RECORDS.forEach(t => {\r\n    const b = document.createElement('button');\r\n    b.textContent = TYPE_LABELS[t] || t;\r\n    b.className = 'dns-type-btn';\r\n    if (t === activeType) {\r\n      b.classList.add('active');\r\n    }\r\n    \r\n    b.addEventListener('click',()=>{\r\n      if (isRunning) return;\r\n      activeType = t;\r\n      [...typesWrap.children].forEach(c => c.classList.remove('active'));\r\n      b.classList.add('active');\r\n    });\r\n    typesWrap.appendChild(b);\r\n  });\r\n\r\n  \/\/ Domain count tracker v\u1edbi DPS colors\r\n  function updateDomainCount() {\r\n    const domains = ta.value.split(\/\\r?\\n\/)\r\n      .map(s=>extractHostname(s))\r\n      .filter(Boolean);\r\n    countEl.textContent = `${domains.length} t\u00ean mi\u1ec1n`;\r\n    \r\n    if (domains.length > 100) {\r\n      countEl.style.background = 'rgba(220,38,38,0.9) !important';\r\n      countEl.style.color = 'white !important';\r\n    } else if (domains.length > 50) {\r\n      countEl.style.background = 'rgba(245,158,11,0.9) !important';\r\n      countEl.style.color = 'white !important';\r\n    } else if (domains.length > 0) {\r\n      countEl.style.background = 'rgba(50,181,97,0.9) !important';\r\n      countEl.style.color = 'white !important';\r\n    } else {\r\n      countEl.style.background = 'rgba(21,21,119,0.9) !important';\r\n      countEl.style.color = 'white !important';\r\n    }\r\n  }\r\n\r\n  ta.addEventListener('input', updateDomainCount);\r\n  updateDomainCount();\r\n\r\n  function clampDelay(){\r\n    let v = Number(delayInput.value || 0);\r\n    if (!Number.isFinite(v) || v < 50){\r\n      v = 50;\r\n      delayInput.value = String(v);\r\n      setStatus('\u26a0\ufe0f \u0110\u1ed9 tr\u1ec5 \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u1eb7t t\u1ed1i thi\u1ec3u: 50ms');\r\n    }\r\n    return v;\r\n  }\r\n  delayInput.addEventListener('input', clampDelay);\r\n  delayInput.addEventListener('blur', clampDelay);\r\n  delayInput.addEventListener('keydown', (e)=>{\r\n    if (e.key === '-') e.preventDefault();\r\n  });\r\n\r\n  function extractHostname(input){\r\n    if(!input) return '';\r\n    try{ return new URL(input).hostname.replace(\/\\.$\/,''); }\r\n    catch(e){ return String(input).trim().replace(\/^https?:\\\/\\\/\/i,'').replace(\/^\\\/*\/,'').split('\/')[0].split('?')[0].replace(\/\\.$\/,''); }\r\n  }\r\n\r\n  function sleep(ms){ return new Promise(r=>setTimeout(r, ms)); }\r\n\r\n  function clearError(){ \r\n    errorEl.style.display='none'; \r\n    errorTextEl.textContent=''; \r\n  }\r\n  function showError(msg){ \r\n    errorEl.style.display='flex'; \r\n    errorTextEl.textContent=msg; \r\n  }\r\n  function setStatus(msg){ \r\n    statusEl.textContent = msg; \r\n  }\r\n\r\n  function updateProgress(current, total) {\r\n    if (total === 0) {\r\n      progressEl.style.display = 'none';\r\n      return;\r\n    }\r\n    progressEl.style.display = 'block';\r\n    const percentage = Math.min((current \/ total) * 100, 100);\r\n    progressBarEl.style.width = `${percentage}%`;\r\n  }\r\n\r\n  \/\/ Render table v\u1edbi DPS branding - S\u1eed d\u1ee5ng div thay v\u00ec table elements\r\n  function ensureTable(){\r\n    if(resultsEl.firstChild && resultsEl.firstChild.classList && resultsEl.firstChild.classList.contains('dns-table')) return resultsEl.firstChild;\r\n    resultsEl.innerHTML = '';\r\n    const table = document.createElement('div');\r\n    table.className = 'dns-table';\r\n    \r\n    const isMobile = window.innerWidth < 768;\r\n    table.innerHTML = `<div class=\"dns-table-header-row\">\r\n      <div class=\"dns-table-header\">T\u00ean Mi\u1ec1n\r\n      <div class=\"dns-table-header center\">Lo\u1ea1i\r\n      <div class=\"dns-table-header ${isMobile ? 'mobile-hidden' : ''}\">T\u00ean\r\n      <div class=\"dns-table-header center\">TTL\r\n      <div class=\"dns-table-header\">D\u1eef Li\u1ec7u\r\n    <div class=\"dns-table-body\">`;\r\n    resultsEl.appendChild(table);\r\n    return table;\r\n  }\r\n\r\n  const allRows = [];\r\n  function appendRows(rows){\r\n    const table = ensureTable();\r\n    const tbody = table.querySelector('.dns-table-body');\r\n    const frag = document.createDocumentFragment();\r\n    const isMobile = window.innerWidth < 768;\r\n    \r\n    rows.forEach((r, i) => {\r\n      allRows.push(r);\r\n      const tr = document.createElement('div');\r\n      tr.className = 'dns-table-row';\r\n      \r\n      let dataColor = '#374151';\r\n      if (r.data === '(kh\u00f4ng c\u00f3 d\u1eef li\u1ec7u)') dataColor = '#9ca3af';\r\n      else if (r.data && r.data.startsWith('L\u1ed7i:')) dataColor = '#dc2626';\r\n      \r\n      tr.innerHTML = `<div class=\"dns-table-cell\">${r.domain}\r\n        <div class=\"dns-table-cell center type\">${r.type}\r\n        <div class=\"dns-table-cell name ${isMobile ? 'mobile-hidden' : ''}\">${r.name||''}\r\n        <div class=\"dns-table-cell center ttl\">${r.ttl??''}\r\n        <div class=\"dns-table-cell data\" style=\"color:${dataColor}\">${r.data||''}`;\r\n      frag.appendChild(tr);\r\n    });\r\n    tbody.appendChild(frag);\r\n    \r\n    btnCopy.disabled = false;\r\n    btnCopy.classList.remove('success');\r\n  }\r\n\r\n  async function queryDoH(domain, type){\r\n    const base = 'https:\/\/dns.google\/resolve';\r\n    const params = new URLSearchParams();\r\n    params.set('name', domain);\r\n    params.set('type', TYPE_CODE[type]);\r\n    const url = `${base}?${params.toString()}`;\r\n    const res = await fetch(url, { headers: { 'Accept':'application\/json' }});\r\n    if(!res.ok) throw new Error(`HTTP ${res.status}`);\r\n    return await res.json();\r\n  }\r\n\r\n  let abortFlag = false;\r\n  let isRunning = false;\r\n\r\n  btnStop.addEventListener('click', ()=>{ \r\n    abortFlag = true; \r\n    setStatus('\ud83d\uded1 \u0110ang d\u1eebng...'); \r\n  });\r\n\r\n  btnClear.addEventListener('click', () => {\r\n    if (isRunning) return;\r\n    resultsEl.innerHTML = `<div class=\"dns-empty-state\">\r\n      <div class=\"dns-empty-icon\">\ud83d\udcca\r\n      <div class=\"dns-empty-text\">S\u1eb5n s\u00e0ng tra c\u1ee9u b\u1ea3n ghi DNS...\r\n      <div class=\"dns-empty-subtext\">\u0110\u01b0\u1ee3c h\u1ed7 tr\u1ee3 b\u1edfi DPS.MEDIA\r\n    `;\r\n    allRows.length = 0;\r\n    btnCopy.disabled = true;\r\n    btnCopy.classList.remove('success');\r\n    clearError();\r\n    setStatus('');\r\n    progressEl.style.display = 'none';\r\n  });\r\n\r\n  btnRun.addEventListener('click', async ()=>{\r\n    if (isRunning) return;\r\n    \r\n    clearError(); \r\n    allRows.length = 0; \r\n    abortFlag = false;\r\n    isRunning = true;\r\n\r\n    btnRun.disabled = true;\r\n    runTextEl.textContent = '\u23f3 \u0110ang ch\u1ea1y...';\r\n    btnStop.style.display = 'block';\r\n    btnClear.style.display = 'none';\r\n    \r\n    [...typesWrap.children].forEach(b => {\r\n      b.style.cursor = 'not-allowed';\r\n      b.style.opacity = '0.6';\r\n    });\r\n\r\n    const delay = clampDelay();\r\n\r\n    const domains = ta.value.split(\/\\r?\\n\/)\r\n      .map(s=>extractHostname(s))\r\n      .filter(Boolean);\r\n\r\n    if (!domains.length){ \r\n      showError('Vui l\u00f2ng nh\u1eadp \u00edt nh\u1ea5t 1 t\u00ean mi\u1ec1n.'); \r\n      resetUIState();\r\n      return; \r\n    }\r\n    if (domains.length > 100){ \r\n      showError('Gi\u1edbi h\u1ea1n 100 t\u00ean mi\u1ec1n m\u1ed7i l\u1ea7n \u0111\u1ec3 tr\u00e1nh qu\u00e1 t\u1ea3i. H\u00e3y chia nh\u1ecf danh s\u00e1ch.'); \r\n      resetUIState();\r\n      return; \r\n    }\r\n\r\n    const types = (activeType==='ALL') ? [...POPULAR] : [activeType];\r\n    const totalQueries = domains.length * types.length;\r\n\r\n    resultsEl.innerHTML = '';\r\n    ensureTable();\r\n\r\n    let completed = 0;\r\n    for (let i=0; i<domains.length && !abortFlag; i++){\r\n      const d = domains[i];\r\n      for (const t of types){\r\n        if (abortFlag) break;\r\n        try{\r\n          setStatus(`\ud83d\udd0d ${d} [${t}] (${completed + 1}\/${totalQueries})`);\r\n          updateProgress(completed, totalQueries);\r\n          \r\n          const json = await queryDoH(d, t);\r\n          if (json && Array.isArray(json.Answer) && json.Answer.length > 0){\r\n            const rows = json.Answer.map(a=>({ domain:d, type:t, name:a.name, ttl:a.TTL, data:a.data }));\r\n            appendRows(rows);\r\n          } else if (json && Array.isArray(json.Authority) && json.Authority.length > 0){\r\n            const rows = json.Authority.map(a=>({ domain:d, type:t, name:a.name, ttl:a.TTL, data:a.data }));\r\n            appendRows(rows);\r\n          } else {\r\n            appendRows([{ domain:d, type:t, name:'', ttl:'', data:'(kh\u00f4ng c\u00f3 d\u1eef li\u1ec7u)' }]);\r\n          }\r\n        }catch(e){\r\n          appendRows([{ domain:d, type:t, name:'', ttl:'', data:`L\u1ed7i: ${e.message}` }]);\r\n        }\r\n        completed++;\r\n        updateProgress(completed, totalQueries);\r\n        if (completed < totalQueries && !abortFlag) {\r\n          await sleep(delay);\r\n        }\r\n      }\r\n    }\r\n    \r\n    if (abortFlag) {\r\n      setStatus(`\u23f9\ufe0f \u0110\u00e3 d\u1eebng (${completed}\/${totalQueries})`);\r\n    } else {\r\n      setStatus(`\u2705 Ho\u00e0n th\u00e0nh! ${allRows.length} b\u1ea3n ghi t\u1eeb ${domains.length} t\u00ean mi\u1ec1n`);\r\n    }\r\n    \r\n    resetUIState();\r\n  });\r\n\r\n  function resetUIState() {\r\n    isRunning = false;\r\n    btnRun.disabled = false;\r\n    runTextEl.textContent = '\ud83d\ude80 B\u1eaft \u0110\u1ea7u';\r\n    btnStop.style.display = 'none';\r\n    btnClear.style.display = 'block';\r\n    progressEl.style.display = 'none';\r\n    \r\n    [...typesWrap.children].forEach(b => {\r\n      b.style.cursor = 'pointer';\r\n      b.style.opacity = '1';\r\n    });\r\n  }\r\n\r\n  function escapeCell(v){\r\n    if (v == null) return '';\r\n    const s = String(v);\r\n    return s.replace(\/\\t\/g, ' ').replace(\/\\r?\\n\/g, ' ');\r\n  }\r\n  function rowsToTSV(rows){\r\n    const header = ['T\u00ean Mi\u1ec1n','Lo\u1ea1i','T\u00ean','TTL','D\u1eef Li\u1ec7u'];\r\n    const lines = [header.join('\\t')].concat(rows.map(r => [r.domain, r.type, r.name||'', r.ttl??'', r.data||''].map(escapeCell).join('\\t')));\r\n    return lines.join('\\n');\r\n  }\r\n  async function copyText(text){\r\n    if (navigator.clipboard && navigator.clipboard.writeText){\r\n      await navigator.clipboard.writeText(text);\r\n    } else {\r\n      const ta = document.createElement('textarea');\r\n      ta.value = text; document.body.appendChild(ta); ta.select(); document.execCommand('copy'); document.body.removeChild(ta);\r\n    }\r\n  }\r\n  btnCopy.addEventListener('click', async ()=>{\r\n    if (!allRows.length){ setStatus('\u274c Kh\u00f4ng c\u00f3 d\u1eef li\u1ec7u \u0111\u1ec3 sao ch\u00e9p.'); return; }\r\n    try{\r\n      await copyText(rowsToTSV(allRows));\r\n      setStatus('\u2705 \u0110\u00e3 sao ch\u00e9p b\u1ea3ng v\u00e0o clipboard!');\r\n      \r\n      const originalText = btnCopy.textContent;\r\n      btnCopy.textContent = '\u2705 \u0110\u00e3 sao ch\u00e9p!';\r\n      btnCopy.classList.add('success');\r\n      \r\n      setTimeout(() => {\r\n        btnCopy.textContent = originalText;\r\n        btnCopy.classList.remove('success');\r\n      }, 2000);\r\n    }catch(e){ \r\n      setStatus('\u274c Sao ch\u00e9p th\u1ea5t b\u1ea1i: ' + e.message); \r\n    }\r\n  });\r\n\r\n  \/\/ Window resize handler\r\n  let resizeTimeout;\r\n  window.addEventListener('resize', () => {\r\n    clearTimeout(resizeTimeout);\r\n    resizeTimeout = setTimeout(() => {\r\n      if (resultsEl.firstChild && resultsEl.firstChild.classList && resultsEl.firstChild.classList.contains('dns-table')) {\r\n        const currentRows = [...allRows];\r\n        allRows.length = 0;\r\n        resultsEl.innerHTML = '';\r\n        if (currentRows.length > 0) {\r\n          appendRows(currentRows);\r\n        }\r\n      }\r\n    }, 100);\r\n  });\r\n\r\n  \/\/ Initialize copy button state\r\n  btnCopy.disabled = true;\r\n})();\r\n<\/script><!-- End DNS Bulk Lookup Widget - DPS.MEDIA --><strong>Online website IP check helps you quickly identify the exact IP address of any website in seconds.<\/strong><p> This supports security, SEO optimization, and effective access control.<\/p><p>According to surveys, more than 70% of SMEs use IPs to protect their websites and enhance user experience. <a class=\"wpil_keyword_link\" href=\"https:\/\/dps.media\/en\/\" title=\"DPS.MEDIA JSC\" data-wpil-keyword-link=\"linked\" data-wpil-monitor-id=\"754\">DPS.MEDIA<\/a> has advised many clients on how to successfully apply this tool in their digital marketing strategy.<br><img decoding=\"async\" class=\"kimage_class\" src=\"https:\/\/dps.media\/wp-content\/uploads\/2025\/08\/an-tam.jpg\" alt=\"The importance of checking Website IP in digital Marketing strategy\" title=\"\"><\/p><h2 id=\"tam-quan-trong-cua-viec-tra-cuu-ip-website-trong-chien-luoc-digital-marketing\">The importance of checking Website IP in digital Marketing strategy<\/h2><h3>Security control and threat identification<\/h3><p>In the digital era, digital campaigns are vulnerable if website IPs are not thoroughly checked. Checking IPs helps you:<\/p><p>\u2013 Verify secure hosting or sharing with untrustworthy websites<br>\n\u2013 Detect brand impersonation behavior from suspicious server IPs<br>\n\u2013 Prevent DDoS attacks targeting web infrastructure<\/p><div class=\"wp-block-group has-background\">\n<p><strong>Tip:<\/strong> You should check the IP periodically every month if the website receives more than 5,000 visits\/day \u2013 it only takes 5 minutes but helps provide sustainable protection.<\/p>\n<\/div><h3>Competitor analysis and competition verification<\/h3><p>You can use IPs to monitor competitors' technical infrastructure and gain insights. Some practical application examples:<\/p><p>\u2013 Detect competitors switching servers (for SEO optimization or changing providers)<br>\n\u2013 Compare the IP response speed of competitor sites (helps evaluate hosting quality)<br>\n\u2013 Identify shared IPs on the same web server \u2192 identify risky PBN groups<\/p><p>Example: An anonymous DPS.MEDIA client, after analyzing the IPs of three major competitors in the real estate sector, decided to switch to a server in Vietnam to improve Core Web Vitals. As a result, the bounce rate decreased by 18% in 6 weeks (source: internal Q3\/2023 report).<\/p><table class=\"wordpress\">\n<thead>\n<tr>\n<th>Parameters<\/th>\n<th>Before the change<\/th>\n<th>After the change<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>page load time (average)<\/td>\n<td>3.4 seconds<\/td>\n<td>2.1 seconds<\/td>\n<\/tr>\n<tr>\n<td>Core Web Vitals (LCP)<\/td>\n<td>3.1 s<\/td>\n<td>1.8 s<\/td>\n<\/tr>\n<tr>\n<td>Bounce rate<\/td>\n<td>56%<\/td>\n<td>38%<\/td>\n<\/tr>\n<\/tbody>\n<\/table><h3>Checklist: Things to do when checking website IP<\/h3><ul>\n<li>\u2705 Use official IP checking tools (e.g., Whois, Google Dig, DNS Checker)<\/li>\n<li>\u2705 Compare the IP with popular blacklists like Spamhaus or SURBL<\/li>\n<li>\u2705 Check if the server shares its IP with many suspicious domains<\/li>\n<li>\u2705 Note any changes to the IP or server to track performance over time<\/li>\n<\/ul><div class=\"wp-block-group has-background\">\n<p><strong>Warning risk:<\/strong> If the server shares an IP with many spam websites, the chance of your domain being blacklisted is very high \u2013 negatively impacting SEO campaigns and paid advertising.<\/p>\n<\/div><h3>Final takeaway \ud83d\ude0e<\/h3><p>The <strong>website IP lookup<\/strong> is not merely for technical needs, but is an important logistical step for every effective digital campaign, especially for small and medium enterprises. Don't overlook the small details \u2013 because they help you stay one step ahead of the competition!<br><img decoding=\"async\" class=\"kimage_class\" src=\"https:\/\/dps.media\/wp-content\/uploads\/2025\/08\/626374.jpg\" alt=\"Effective and popular online Website IP checking methods today\" title=\"\"><\/p><h2 id=\"cac-phuong-phap-kiem-tra-ip-website-online-hieu-qua-va-pho-bien-hien-nay\">Effective and popular online Website IP checking methods today<\/h2><h3>Accurate free IP checking tools<\/h3><p>You can use many free platforms to quickly look up a website\u2019s IP address in just a few seconds. Some popular tools:<\/p><ul>\n<li><strong>DNS Checker:<\/strong> View IP and DNS records on multiple global servers.<\/li>\n<li><strong>IP Lookup by WhatIsMyIPAddress:<\/strong> Simple interface, reliable results.<\/li>\n<li><strong>MXToolbox:<\/strong> Supports lookup of A record, MX, and detailed WHOIS information.<\/li>\n<\/ul><div class=\"wp-block-group has-background\" style=\"background-color:#f1f1f1;padding:15px\">\n  <strong>TIP:<\/strong> Compare different tools to detect IP changes or CDN network interruptions.\n<\/div><h3>Check IP using CMD (Command prompt)<\/h3><p>For users with technical knowledge, the nslookup or ping command on Windows, or Terminal on Mac, is a quick way to check IP:<\/p><ul>\n<li><code>nslookup yourdomain.com<\/code>  \u2013 Returns the DNS server IP address.<\/li>\n<li><code>ping yourdomain.com<\/code>  \u2013 Check response and identify IP.<\/li>\n<\/ul><p>Example: Type <code>nslookup example.com<\/code> usually returns IP 93.184.216.34 belonging to Edgecast's server (according to RIPE 2023 data).<\/p><h3>A summary table of useful tools<\/h3><table class=\"wordpress\">\n<thead>\n<tr>\n<th>Tool name<\/th>\n<th>Used for<\/th>\n<th>Free<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>DNS Checker<\/td>\n<td>checking IP by geographic location<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>MXToolbox<\/td>\n<td>Analyze DNS records &amp; blacklists<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>ViewDNS.info<\/td>\n<td>WHOIS, trace route and IP history<\/td>\n<td>A part<\/td>\n<\/tr>\n<\/tbody>\n<\/table><h3>Checklist when checking website IP<\/h3><ul>\n<li>\u2714 Lookup IP of main domain and subdomain<\/li>\n<li>\u2714 Identify hosting server location<\/li>\n<li>\u2714 Check if using CDN (cloudflare\u2026)<\/li>\n<li>\u2714 Cross-check IP from different sources<\/li>\n<li>\u2714 Record results and periodic check times<\/li>\n<\/ul><h3>Notes when looking up IP \u2013 it's not always \u201cstandard\u201d<\/h3><p>Content filtering services, CDNs like Cloudflare can hide the real IP of the origin server. This makes identifying the IP address difficult in many cases.<\/p><div class=\"wp-block-group has-background\" style=\"background-color:#fff8dc;padding:15px\">\n  <strong>Note:<\/strong> If you are analyzing security or need to know the real IP to whitelist, use firewall logs or information from your hosting provider.\n<\/div><h3>Takeaway<\/h3><p>Checking a website's IP is not too difficult, but you need to choose the right tool for each purpose. Regular checks help businesses easily detect network issues or changes from the hosting provider.<br><img decoding=\"async\" class=\"kimage_class\" src=\"https:\/\/dps.media\/wp-content\/uploads\/2025\/08\/tinh-6.jpg\" alt=\"Detailed guide on how to check IP from URL accurately and quickly\" title=\"\"><\/p><h2 id=\"huong-dan-chi-tiet-cach-tra-cuu-ip-tu-url-chinh-xac-va-nhanh-chong\">Detailed guide on how to check IP from URL accurately and quickly<\/h2><h3>1. Basic steps to check IP from URL<\/h3><p>Below is a checklist to help you perform the lookup in just a few minutes:<\/p><ul>\n<li>\u2705 Access a reputable IP lookup tool (such as WhatIsMyIPAddress, DNSChecker, Hostinger...)<\/li>\n<li>\u2705 Enter the website URL you want to check (e.g.: <strong>example.com<\/strong>)<\/li>\n<li>\u2705 Click \u201cCheck\u201d or \u201cSearch\u201d for the tool to process<\/li>\n<li>\u2705 View displayed results for IPv4, IPv6, host name...<\/li>\n<\/ul><div class=\"wp-block-group has-background\" style=\"background-color:#f3f4f5;padding:15px;margin-top:10px\">\n  <strong>tip:<\/strong> If you need to check multiple IPs at once, use the ping or nslookup command via terminal to save time.\n<\/div><h3>2. Use Command Prompt (Windows) or Terminal (macOS\/Linux)<\/h3><p>Another accurate way that doesn\u2019t require a browser is to use the command:<\/p><ul>\n<li><strong>ping example.com<\/strong> \u279d Instantly returns the IP result<\/li>\n<li><strong>nslookup example.com<\/strong> \u279d displays the DNS server and IP address<\/li>\n<\/ul><p>Example: When running <code>ping facebook.com<\/code>, the system will return the IP as <code>157.240.229.35<\/code>. Actual data from Cloudflare\u2019s 2023 report recorded that 83% of website slowdowns are due to DNS or incorrect IP.<\/p><h3>3. Information table to observe when checking<\/h3><table class=\"wordpress\">\n<thead>\n<tr>\n<th>Attribute<\/th>\n<th>Sample Value<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>URL<\/td>\n<td>example.com<\/td>\n<\/tr>\n<tr>\n<td>IP Address<\/td>\n<td>93.184.216.34<\/td>\n<\/tr>\n<tr>\n<td>IP Type<\/td>\n<td>IPv4<\/td>\n<\/tr>\n<tr>\n<td>DNS Server<\/td>\n<td>google \u2013 8.8.8.8<\/td>\n<\/tr>\n<\/tbody>\n<\/table><h3>4. Some important notes and potential risks<\/h3><ul>\n<li>\u26a0\ufe0f Some websites using CDN like Cloudflare will not display the real IP<\/li>\n<li>\u26a0\ufe0f IP may change if the website uses shared hosting<\/li>\n<li>\u26a0\ufe0f IP lookup does not help determine the exact server location unless you have access to the actual host<\/li>\n<\/ul><div class=\"wp-block-group has-background\" style=\"background-color:#e9f5ff;padding:15px;margin-top:10px\">\n  <strong>Takeaway:<\/strong> Checking website IP is a small but extremely important step in monitoring website infrastructure \u2013 especially suitable for IT admins or marketers who need to verify access sources. Always use reliable tools to ensure accuracy!\n<\/div><p><img decoding=\"async\" class=\"kimage_class\" src=\"https:\/\/dps.media\/wp-content\/uploads\/2025\/08\/Step-7.jpg\" alt=\"Analyze IP information to enhance security and optimize Website\" title=\"\"><\/p><h2 id=\"phan-tich-thong-tin-ip-de-nang-cao-hieu-qua-bao-mat-va-toi-uu-hoa-website\">Analyze IP information to enhance security and optimize Website<\/h2><h3>Why should you monitor website IP?<\/h3><p>Analyzing IP addresses helps businesses identify suspicious traffic sources, thereby limiting DDoS attacks or unauthorized access. An IP address that continuously sends requests to the server may be a sign of a bot or malicious script.<\/p><p>Organizations like Cloudflare (2023 Report) recommend that websites regularly check IPs to:<\/p><p>\u2013 Early detection of brute force and spam behavior.<br>\n\u2013 Block IPs from unwanted regions.<br>\n\u2013 Monitor origin server performance through the pointed server IP.<\/p><div class=\"wp-block-group has-background\">\n<p><strong>Tip:<\/strong> Configure firewall or WAF to automatically block IPs with abnormal behavior.<\/p>\n<\/div><h3>Factors to analyze when checking IP<\/h3><p>A website's IP address not only shows the server location, but is also directly related to stability and SEO. Below are the factors you should check when looking up an IP:<\/p><p>\u2013 Geographical location of the IP (applies to page load speed for users)<br>\n\u2013 Hosting provider<br>\n\u2013 Blacklist status (Is the IP listed in any malicious lists?)<br>\n\u2013 Uptime rate based on access history (view via tools like Uptime Robot)<\/p><p>Real-life example: An e-commerce website in Vietnam with an IP located in Europe recorded a page load time 2.7s slower for local users (source: GTMetrix 2023 update).<\/p><h3>Checklist: Actions to take immediately<\/h3><ul>\n<li>Look up the real IP of the website using WHOIS or DNS Lookup tools<\/li>\n<li>Compare with the IP displayed in the browser \u21d2 detect proxy or CDN<\/li>\n<li>Check if the IP is listed in the spamhaus.org blacklist<\/li>\n<li>Analyze access logs to filter IPs that repeat abnormally over 200 times\/day<\/li>\n<li>Note down backup server IPs and keep an internal network diagram (if any)<\/li>\n<\/ul><h3>Example table: Preliminary analysis of Website IP<\/h3><table class=\"WordPress\">\n<thead>\n<tr>\n<th>Parameters<\/th>\n<th>Value<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Current IP<\/td>\n<td>203.113.174.25<\/td>\n<\/tr>\n<tr>\n<td>Hosting Provider<\/td>\n<td>Viettel IDC<\/td>\n<\/tr>\n<tr>\n<td>Blacklist Status<\/td>\n<td>Not detected<\/td>\n<\/tr>\n<tr>\n<td>IP Location<\/td>\n<td>Hanoi, Vietnam<\/td>\n<\/tr>\n<\/tbody>\n<\/table><h3>Challenges and important notes<\/h3><p>Although it offers outstanding benefits, IP analysis is not simple if the website uses multiple layers of proxy or CDN like Cloudflare. These cases require analyzing the original header (X-Forwarded-For) and accessing server logs.<\/p><p>Furthermore, dynamic IPs or shared IPs can be affected by other websites on the same server if a shared IP is blacklisted.<\/p><div class=\"wp-block-group has-background\">\n<p><strong>Note:<\/strong> Not every IP far from the geographic location causes slowness, if the CDN infrastructure is stable enough.<\/p>\n<\/div><h3>Takeaway<\/h3><p>An IP address may seem technical, but it plays a central role in both security and speed optimization. Don't overlook it in the process of running a professional website.<br><img decoding=\"async\" class=\"kimage_class\" src=\"https:\/\/dps.media\/wp-content\/uploads\/2025\/08\/6-2.jpg\" alt=\"How to use IP data in competitor research and market expansion\" title=\"\"><\/p><h2 id=\"lam-the-nao-de-su-dung-du-lieu-ip-trong-viec-nghien-cuu-doi-thu-va-mo-rong-thi-truong\">How to use IP data in competitor research and market expansion<\/h2><h3>Analysis of competitor's technical infrastructure<\/h3><p>When checking a website's IP, you can identify the hosting provider, CDN technology, or security structure your competitor is using. This helps measure the level of investment and professionalism in their system.<\/p><ul>\n<li><strong>Identify server IP<\/strong> to know if the competitor uses VPS, shared or dedicated server<\/li>\n<li><strong>Check DNS records<\/strong> to understand the structure of email, web app, and subdomain<\/li>\n<li>Use tools like BuiltWith or SecurityTrails to deeply analyze the technology stack<\/li>\n<\/ul><h3>Identify target customer reach areas<\/h3><p>IP data also shows where the website is serving many visitors from (via ISP or geo-IP). If you identify a market with high traffic, you can develop promotional campaigns in similar areas.<\/p><div class=\"wp-block-group has-background\">\n  <strong>tip:<\/strong> Combine IP checking with Google Analytics when running test ads to optimize your budget for regions with potential.\n<\/div><h3>Action checklist for competitor research<\/h3><ul>\n<li>\u2713 Perform IP queries using online IP check tools (such as IPinfo, ViewDNS)<\/li>\n<li>\u2713 Note down CDN network, web server, and security system<\/li>\n<li>\u2713 Track sites using the same IP via Reverse IP Lookup<\/li>\n<li>\u2713 Compare server location with international marketing campaigns<\/li>\n<\/ul><h3>Table: Sample analysis of competitor's web IP<\/h3><table class=\"wordpress\">\n<thead>\n<tr>\n<th>Website<\/th>\n<th>IP Address<\/th>\n<th>Location<\/th>\n<th>Hosting<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>example-competitor.com<\/td>\n<td>192.185.124.XX<\/td>\n<td>Singapore (AWS Asia)<\/td>\n<td>Amazon Web Services<\/td>\n<\/tr>\n<tr>\n<td>abc-rivals.net<\/td>\n<td>104.21.XX.XX<\/td>\n<td>US East (Cloudflare)<\/td>\n<td>Cloudflare CDN + proxy<\/td>\n<\/tr>\n<\/tbody>\n<\/table><h3>Challenges when using IP data<\/h3><p>IP data can be easily spoofed due to services like Cloudflare masking the real IP, or dynamic IPs making it impossible to accurately identify the actual server. Incorrect analysis may lead to misdirected targeting or wasted marketing resources.<\/p><h3>Real example<\/h3><p>A startup in Ho Chi Minh City discovered their main competitor hosted their server in Frankfurt, serving a large amount of traffic from Germany. Thanks to IP analysis data, their content team tried a German SEO campaign and attracted an additional 12,000 visits\/month after 3 months (Source: DPS.MEDIA internal report 2023).<\/p><h3>Takeaway<\/h3><p><strong>Looking up and analyzing website IPs not only helps you understand your competitors but also opens up strategic pathways for choosing the right market to expand into.<\/strong><br><img decoding=\"async\" class=\"kimage_class\" src=\"https:\/\/dps.media\/wp-content\/uploads\/2025\/08\/02851u.jpg\" alt=\"Important notes when choosing an IP lookup tool suitable for SMEs\" title=\"\"><\/p><h2 id=\"nhung-luu-y-quan-trong-khi-chon-cong-cu-tra-cuu-ip-phu-hop-voi-doanh-nghiep-smes\">Important notes when choosing an IP lookup tool suitable for SMEs<\/h2><h3>Set criteria appropriate to business scale<\/h3><p>Not every IP lookup tool is suitable for all types of businesses. SMEs should focus on practical criteria:<\/p><p>\u2013 Simple interface, easy to use for non-professionals.<br>\n\u2013 Centralized lookup capability: check IPs of multiple domains at once.<br>\n\u2013 Does not require high costs or cumbersome registration.<\/p><div class=\"wp-block-group has-background\">\n  <strong>Tip:<\/strong> With a limited budget, prioritize free tools like WhatIsMyIPAddress, or the free limited version of IPinfo, suitable for most small businesses.\n<\/div><h3>Compare features and reliability<\/h3><p>To optimize performance, you need to evaluate tools based on technical criteria:<\/p><p>\u2013 Accuracy of IP address and hosting (hosting IP error margin can vary by \u00b15%).<br>\n\u2013 Real-time data updates, avoiding hidden cached data.<br>\n\u2013 API support for automated system integration (especially important for SMEs developing websites). Example: A furniture company in Binh Duong once used a free tool; although the lookup speed was fast, it returned incorrect geographical locations by ~30%, leading to location-based marketing campaigns missing the target audience.<\/p><h3>Checklist for choosing an IP lookup tool<\/h3><ul>\n<li>\u2705 Supports multi-check for multiple IPs or URLs<\/li>\n<li>\u2705 Response time under 1.5 seconds per lookup URL<\/li>\n<li>\u2705 Can distinguish between IPv4 and IPv6<\/li>\n<li>\u2705 Does not store unnecessary user data<\/li>\n<li>\u2705 Supports reporting or CSV export if analysis is needed<\/li>\n<\/ul><h3>Quick comparison table of 3 popular tools<\/h3><table class=\"wordpress\">\n<thead>\n<tr>\n<th>Tool<\/th>\n<th>Free<\/th>\n<th>API<\/th>\n<th>IP accuracy<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>IPinfo.io<\/td>\n<td>Yes<\/td>\n<td>Yes<\/td>\n<td>\u00b121%<\/td>\n<\/tr>\n<tr>\n<td>WhatIsMyIPAddress<\/td>\n<td>Yes<\/td>\n<td>no<\/td>\n<td>\u00b141%<\/td>\n<\/tr>\n<tr>\n<td>DPS.MEDIA IP Tool<\/td>\n<td>Yes<\/td>\n<td>Limit<\/td>\n<td>\u00b111%<\/td>\n<\/tr>\n<\/tbody>\n<\/table><h3>Warnings &amp; common challenges<\/h3><p>\u2013 Some tools use outdated IP data \u2192 easily leading to discrepancies in geographical location or service providers.<br>\n\u2013 For SMEs with domains using Cloudflare or CDN networks, the real IP may be \u201chidden\u201d, requiring specialized tools to identify the origin IP.<\/p><div class=\"wp-block-group has-background\">\n  <strong>Tip:<\/strong> When the website uses a proxy\/CDN, check the response from the HTTP header or combine with reverse DNS lookup.\n<\/div><h3>Takeaway<\/h3><p>Choosing the right IP lookup tool for SMEs helps businesses optimize data retrieval, ensure accuracy when implementing IP-based outreach campaigns, and minimize errors in user geolocation. Don't overlook checking for updates and extensibility features when comparing options.<br><img decoding=\"async\" class=\"kimage_class\" src=\"https:\/\/dps.media\/wp-content\/uploads\/2025\/08\/56x227.jpg\" alt=\"Integrate IP checking into the operation and professional Website development process\" title=\"\"><\/p><h2 id=\"tich-hop-viec-kiem-tra-ip-vao-quy-trinh-van-hanh-va-phat-trien-website-chuyen-nghiep\">Integrate IP checking into the operation and professional Website development process<\/h2><h3>Why is IP checking necessary in the operation process?<\/h3><p>Identifying the website's IP address not only serves security purposes but also supports more efficient system administration. Especially in a Cloud environment or when using a Proxy, the IP helps clearly determine the routing point of traffic.<\/p><ul>\n<li><strong>Analyze abnormal traffic<\/strong> to filter bots or unwanted sources.<\/li>\n<li><strong>Server identification<\/strong> active when there are multiple staging\/test environments.<\/li>\n<li>Support the technical team in monitoring uptime and responding quickly to incidents.<\/li>\n<\/ul><div class=\"wp-block-group has-background\" style=\"background-color: #f0f0f0;padding: 16px;border-left: 4px solid #0073aa\">\n  <strong>TIP:<\/strong> Schedule periodic IP checks every week\/2 weeks to ensure there are no DNS errors, especially when using CDN services like Cloudflare.\n<\/div><h3>IP check should be built as a step in DevOps<\/h3><p>Integrating IP lookup into the CI\/CD process brings outstanding benefits for testing and deployment. When automatically deploying through staging \u2192 production environments, the IP serves as the basis to:<\/p><ul>\n<li>whitelist addresses on the firewall.<\/li>\n<li>Route traffic to the correct environment.<\/li>\n<li>Avoid wasting time when connection errors occur between servers.<\/li>\n<\/ul><p>Example: An internal eCommerce project in Ho Chi Minh City once encountered API connection errors due to misconfigured dynamically updated load balancer IPs. After integrating an automatic IP check step in the Jenkins Pipeline, the DevOps team reduced downtime handling time by 40% (Source: Internal Report, 2023).<\/p><h3>Checklist: How to integrate IP checking into workflow<\/h3><ul>\n<li>\u2705 Create a script to automatically check IP and log changes.<\/li>\n<li>\u2705 Use a webhook to notify if the IP changes abnormally.<\/li>\n<li>\u2705 Periodically update the IP whitelist on the server\/cloud\/firewall.<\/li>\n<li>\u2705 Verify the domain points to the correct IP after each deployment.<\/li>\n<li>\u2705 Attach IP check to the system monitoring software's Tag.<\/li>\n<\/ul><h3>Comparison table: Before and after applying regular IP checks<\/h3><table class=\"WordPress\">\n<thead>\n<tr>\n<th>Criteria<\/th>\n<th>Before<\/th>\n<th>After<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Average downtime\/month<\/td>\n<td>5-8 hours<\/td>\n<td>1-2 hours<\/td>\n<\/tr>\n<tr>\n<td>Detect DNS\/IP errors<\/td>\n<td>Manual<\/td>\n<td>Automation<\/td>\n<\/tr>\n<tr>\n<td>Incident response speed<\/td>\n<td>Slow (over 60 minutes)<\/td>\n<td>Under 15 minutes<\/td>\n<\/tr>\n<\/tbody>\n<\/table><div class=\"wp-block-group has-background\" style=\"background-color: #fef9e7;padding: 16px;border-left: 4px solid #f1c40f\">\n  <strong>Warning:<\/strong> Some hosting platforms use dynamic IPs \u2013 you need to combine verification with DNS Records or CNAME to avoid misconfiguration.\n<\/div><h3>Brief takeaway<\/h3><p>Integration <strong>periodic website IP check<\/strong> is a small step but plays a big role in the professional web operation chain. Make this a technical habit to enhance your system's stability and security. <\/p><h2 id=\"outro\">What I want to convey<\/h2><p>Looking up a website's IP helps you better understand the origin, server, and information security of a site. This is an important first step in controlling and managing online data.  <\/p><p>Try checking the IP of some familiar websites today. Regular practice will improve your network system analysis skills.  <\/p><p>You can also learn more about DNS management, hosting, or how to detect fake websites. This knowledge strongly supports security and technical SEO.  <\/p><p>DPS.MEDIA is always ready to accompany businesses on their digital transformation journey. Leave a comment below if you have questions or want to share your experience! <\/p>\n<style>\r\n.lwrp.link-whisper-related-posts{\r\n            \r\n            margin-top: 40px;\nmargin-bottom: 30px;\r\n        }\r\n        .lwrp .lwrp-title{\r\n            \r\n            \r\n        }.lwrp .lwrp-description{\r\n            \r\n            \r\n\r\n        }\r\n        .lwrp .lwrp-list-container{\r\n        }\r\n        .lwrp .lwrp-list-multi-container{\r\n            display: flex;\r\n        }\r\n        .lwrp .lwrp-list-double{\r\n            width: 48%;\r\n        }\r\n        .lwrp .lwrp-list-triple{\r\n            width: 32%;\r\n        }\r\n        .lwrp .lwrp-list-row-container{\r\n            display: flex;\r\n            justify-content: space-between;\r\n        }\r\n        .lwrp .lwrp-list-row-container .lwrp-list-item{\r\n            width: calc(33% - 20px);\r\n        }\r\n        .lwrp .lwrp-list-item:not(.lwrp-no-posts-message-item){\r\n            \r\n            max-width: 150px;\r\n        }\r\n        .lwrp .lwrp-list-item img{\r\n            max-width: 100%;\r\n            height: auto;\r\n            object-fit: cover;\r\n            aspect-ratio: 1 \/ 1;\r\n        }\r\n        .lwrp .lwrp-list-item.lwrp-empty-list-item{\r\n            background: initial !important;\r\n        }\r\n        .lwrp .lwrp-list-item .lwrp-list-link .lwrp-list-link-title-text,\r\n        .lwrp .lwrp-list-item .lwrp-list-no-posts-message{\r\n            \r\n            \r\n            \r\n            \r\n        }@media screen and (max-width: 480px) {\r\n            .lwrp.link-whisper-related-posts{\r\n                \r\n                \r\n            }\r\n            .lwrp .lwrp-title{\r\n                \r\n                \r\n            }.lwrp .lwrp-description{\r\n                \r\n                \r\n            }\r\n            .lwrp .lwrp-list-multi-container{\r\n                flex-direction: column;\r\n            }\r\n            .lwrp .lwrp-list-multi-container ul.lwrp-list{\r\n                margin-top: 0px;\r\n                margin-bottom: 0px;\r\n                padding-top: 0px;\r\n                padding-bottom: 0px;\r\n            }\r\n            .lwrp .lwrp-list-double,\r\n            .lwrp .lwrp-list-triple{\r\n                width: 100%;\r\n            }\r\n            .lwrp .lwrp-list-row-container{\r\n                justify-content: initial;\r\n                flex-direction: column;\r\n            }\r\n            .lwrp .lwrp-list-row-container .lwrp-list-item{\r\n                width: 100%;\r\n            }\r\n            .lwrp .lwrp-list-item:not(.lwrp-no-posts-message-item){\r\n                \r\n                max-width: initial;\r\n            }\r\n            .lwrp .lwrp-list-item .lwrp-list-link .lwrp-list-link-title-text,\r\n            .lwrp .lwrp-list-item .lwrp-list-no-posts-message{\r\n                \r\n                \r\n                \r\n                \r\n            };\r\n        }<\/style>\r\n<div id=\"link-whisper-related-posts-widget\" class=\"link-whisper-related-posts lwrp\">\r\n            <div class=\"lwrp-title\">Related Posts<\/div>    \r\n        <div class=\"lwrp-list-container\">\r\n                                <div class=\"lwrp-list lwrp-list-row-container lwrp-list-double-row\">\r\n                <div class=\"lwrp-list-item\"><a href=\"https:\/\/dps.media\/en\/mini-game-ideas-for-the-opening-skills-class\/\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">Mini game ideas for skill class opening session<\/span><\/a><\/div><div class=\"lwrp-list-item\"><a href=\"https:\/\/dps.media\/en\/analysis-of-data-report-for-the-mechanical-manufacturing-industry\/\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">Mechanical Industry Data Report Analysis<\/span><\/a><\/div><div class=\"lwrp-list-item\"><a href=\"https:\/\/dps.media\/en\/discover-the-emotional-song-made-in-vietnam-by-phuong-my-chi-truc-nhan\/\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">Discover the Emotional Song Made in Vietnam by Ph\u01b0\u01a1ng M\u1ef9 Chi &amp; Tr\u00fac Nh\u00e2n<\/span><\/a><\/div>                <\/div>\r\n                            <div class=\"lwrp-list lwrp-list-row-container lwrp-list-double-row\">\r\n                <div class=\"lwrp-list-item\"><a href=\"https:\/\/dps.media\/en\/register-the-website-with-the-ministry-of-industry-and-trade-for-wholesale-in-the-e-commerce-sector\/\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">Register Website with the Ministry of Industry and Trade \u2013 A Guardian for E-commerce<\/span><\/a><\/div><div class=\"lwrp-list-item\"><a href=\"https:\/\/dps.media\/en\/new-years-day-communication-plan\/\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">Lunar New Year Communication Plan 1\/1: Winning Every Opponent<\/span><\/a><\/div><div class=\"lwrp-list-item\"><a href=\"https:\/\/dps.media\/en\/facebook-business-account-locked-causes-and-how-to-handle\/\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">Facebook Business Account Locked: Causes and Solutions<\/span><\/a><\/div>                <\/div>\r\n                <\/div>\r\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Want to know where a website is hosted? The online website IP checker tool helps you quickly look up the exact IP address with just a few clicks \u2013 convenient, free, and no installation required!<\/p>","protected":false},"author":1,"featured_media":30506,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[70],"tags":[1126,171,680,1037],"class_list":["post-30505","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tin-tuc","tag-bao-mat-mang","tag-cong-cu-truc-tuyen","tag-huong-dan-ky-thuat","tag-quan-tri-website"],"acf":[],"rankmath_keywords":{"primary":"","secondary":[""]},"yoast_keywords":{"primary":"","secondary":[]},"yoast_focuskw":"","rankmath_focuskw":"","seo_keywords":{"primary":"","secondary":[""]},"_links":{"self":[{"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/posts\/30505","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/comments?post=30505"}],"version-history":[{"count":2,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/posts\/30505\/revisions"}],"predecessor-version":[{"id":36037,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/posts\/30505\/revisions\/36037"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/media\/30506"}],"wp:attachment":[{"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/media?parent=30505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/categories?post=30505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/tags?post=30505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}